我有一个带有大量引用的ASP.NET应用程序(例如Microsoft.CSharp,System,System.ComponentModel等...)。当我运行dotnet publish
时,一切正常。特别是,在已发布的目录中使用引用的DLL创建refs
文件夹。
但是,在运行dotnet build
和dotnet run
时,未创建此refs
文件夹,因此,在编译MVC视图时收到错误:
InvalidOperationException:找不到引用程序集 程序包microsoft.csharp的“Microsoft.CSharp.dll”文件
如果我手动将发布期间创建的refs
目录复制到运行.exe
后dotnet build
所在的同一目录中,则此错误会消失。我的问题是,为什么不创建refs
文件夹?
我已尝试在此答案(dotnet core : Can not find assembly file Microsoft.CSharp.dll)中升级到.NET Core 2.0之外的所有内容,并尝试在<PreserveCompilationContext>true</PreserveCompilationContext>
文件中包含行.csproj
。我也从这个GitHub线程(https://github.com/dotnet/cli/issues/4177)尝试了大部分内容。