【问题标题】:Asp.net Core 2.0 with .net framework 4.6.1 - Cannot find reference assembly '.NETFramework/v4.6.1/Microsoft.CSharp.dllAsp.net Core 2.0 with .net framework 4.6.1 - 找不到参考程序集'.NETFramework/v4.6.1/Microsoft.CSharp.dll
【发布时间】:2018-07-18 05:18:48
【问题描述】:

我最近将我的项目从 asp.net core 1.1 升级到了 asp.net core 2.0。并使用 .Net 框架 4.6.1 应用我们。应用程序在本地开发机器上按预期工作,但是一旦使用 dotnet publish 命令部署到服务器,我就会看到这个错误

InvalidOperationException:找不到参考程序集 '.NETFramework/v4.6.1/Microsoft.CSharp.dll' 文件包 Microsoft.CSharp.Reference

我还注意到在发布时使用 asp.net core 1.1 时使用的 ref 文件夹现在丢失了。如何解决这个问题。

【问题讨论】:

  • 您在发布时是否使用了 , --self-contained 选项?
  • 没有。应该用吗?
  • --self-contained 将复制所有依赖项,它看起来就是你的情况。
  • 不,即使添加 --self-contained 后它也不起作用
  • 请发布.csproj文件的内容。

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


【解决方案1】:

将 MvcRazorCompileOnPublish 添加到 .csproj 文件时解决了同样的问题。

试一试。

<MvcRazorCompileOnPublish>true</MvcRazorCompileOnPublish>
<MvcRazorExcludeRefAssembliesFromPublish>false</MvcRazorExcludeRefAssembliesFromPublish>

【讨论】:

  • 就是这样。我没有 false
【解决方案2】:

我注意到,当您启动 IIS 池时,如果您在编译后的 View.dll 中包含 Views 文件夹,则会收到此错误。我这样做是为了短期解决黑客问题。

【讨论】:

    【解决方案3】:

    就我而言(我在控制台应用程序模式下运行 .Net core),上述解决方案都不起作用,我只是从 this 链接下载了 .Net Framework 4.6.1。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-07
      • 1970-01-01
      • 2022-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多