环境:.net sdk 2.0.0
项目的*.csproj
用的nuget包
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.3" />
<PackageReference Include="Serilog" Version="2.6.0" />
<PackageReference Include="Serilog.Extensions.Logging" Version="2.0.2" />
<PackageReference Include="Serilog.Settings.Configuration" Version="2.4.0" />
<PackageReference Include="Serilog.Sinks.RollingFile" Version="3.3.0" />
操作流程:dotnet publish -c release -o publish
进入publish
文件夹 ,执行dotnet ./{projectName}.dll
接着就出现以下错误了:
Error:
An assembly specified in the application dependencies manifest ({projectName}.deps.json) was not found:
package: 'Microsoft.AspNetCore.Antiforgery', version: '2.0.1'
path: 'lib/netstandard2.0/Microsoft.AspNetCore.Antiforgery.dll'
This assembly was expected to be in the local runtime store as the application was published using the following target manifest files:
aspnetcore-store-2.0.3.xml
尝试过进入 C:\Users\{userName}\.nuget\packages\microsoft.aspnetcore.antiforgery
目录下删除所有的文件。重新发布,结果还是没用。
目测是 .NET Core SDK 的版本不对,安装最新版的 .NET Core SDK 试试,目前最新版是 2.1.3
是的 安装最新的sdk 解决了问题
我之前遇到过,因为采用了2.0.1 或者2.0.3的nuget 包的时候会遇到这个问题,我进行了降级处理,将版本都降至 2.0.0 可以解决这个问题。
PS: issue on
确实是个解决方法,我看了我的另一个可以正常运行的分支,确实是nuget版本的问题。
不过最终的解决方案是:安装了最新的.net sdk 2.1.3解决了问题。
@Bluto: 可以
大佬们!请问如果docker容器遇到这个问题,应该如何处理。
博文上问一下吧
@Bluto: 已经解决了
求解决方案
不会看回答吗?
已经升级到2.1.3,但是dotnet 运行的时候还是提示这个错误T_T!
项目文件<PropertyGroup>节点 添加一下内容
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>