我最近将我的项目从asp.net core 1.1升级到asp.net core 2.0。并使用.Net framework 4.6.1向我们提供应用程序。应用程序在本地开发计算机上按预期工作,但一旦使用dotnet publish命令部署到服务器,我看到此错误
InvalidOperationException:找不到引用程序集 包的“.NETFramework / v4.6.1 / Microsoft.CSharp.dll”文件 Microsoft.CSharp.Reference
我还注意到,在发布时使用asp.net核心1.1时使用的 ref 文件夹现在丢失了。如何解决这个问题。
答案 0 :(得分:5)
将MvcRazorCompileOnPublish添加到.csproj文件时解决了同样的问题。
试一试。
<MvcRazorCompileOnPublish>true</MvcRazorCompileOnPublish>
<MvcRazorExcludeRefAssembliesFromPublish>false</MvcRazorExcludeRefAssembliesFromPublish>
答案 1 :(得分:1)
我注意到启动IIS池时,如果已将Views文件夹包含在已编译的View.dll中,则会收到此错误。我之所以这样做是为了短期解决hack。
答案 2 :(得分:0)
就我而言(我在控制台应用程序模式下运行.Net core)上述解决方案均无效,我只是从this链接下载了.Net Framework 4.6.1。