我正在尝试使用MSBUILD发布Netcore 2.0应用程序。
已发布的输出缺少所有SDK dll,例如Microsoft.AspNetCore.Hosting.dll(有很多)所以当我尝试从命令行运行应用程序时使用dotnet appname.dll我得到错误说它找不到引用的dll ...
之前我已经发布了其他应用程序(不是由我创建的),并且发布复制了dll,并且还有一个我没有的“refs”文件夹。 所以我很确定这是一个项目配置问题,但我一直在搜索几个小时,没有关于我应该改变什么的信息。
答案 0 :(得分:0)
原来我的项目名为Microsoft.AspNetCore.All ...
出于某种原因,卸载此引用解决了该问题,现在发布输出包含所有SDK dll
答案 1 :(得分:0)
ASP.NET Core dll是运行时存储中包含的运行时存储的一部分。托管捆绑安装,因此它们不需要包含在发布输出中。 (请注意,这将转到change in the 2.1 timeframe)
要禁用ASP.NET Core运行时包存储,可以在项目文件中设置:
<PropertyGroup>
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
</PropertyGroup>