Netcore 2.0发布不会复制SDK dll

时间:2017-12-29 14:13:49

标签: msbuild publish asp.net-core-2.0

我正在尝试使用MSBUILD发布Netcore 2.0应用程序。

已发布的输出缺少所有SDK dll,例如Microsoft.AspNetCore.Hosting.dll(有很多)所以当我尝试从命令行运行应用程序时使用dotnet appname.dll我得到错误说它找不到引用的dll ...

之前我已经发布了其他应用程序(不是由我创建的),并且发布复制了dll,并且还有一个我没有的“refs”文件夹。 所以我很确定这是一个项目配置问题,但我一直在搜索几个小时,没有关于我应该改变什么的信息。

2 个答案:

答案 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>