我有一个webproject我试图托管,但当服务器尝试编译它时,我收到以下错误:
未处理的异常:System.IO.FileLoadException:无法加载文件或程序集"Microsoft.CodeAnalysis,Version = 1.1.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(来自HRESULT的异常:0x80131040)---> System.IO.FileLoadException:无法加载文件或程序集'Microsoft.CodeAnalysis,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(来自HRESULT的异常:0x80131040)
---内部异常堆栈跟踪结束---在Microsoft.CodeAnalysis.CSharp.CommandLine.Program.Main(String [] args)
所以服务器有一个比我的项目更旧的CodeAnalysis版本.所以让我们尝试绑定重定向!
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.9.9.9" newVersion="1.0.0.0" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)
可悲的是,我仍然得到同样的错误.我究竟做错了什么?
yes*_*man 40
我自己想出来了.对于阅读此内容的任何人来说,问题是Nuget包Microsoft.CodeDom.Providers.DotNetCompilerPlatform
(它还包含CodeAnalysis包)是错误的版本.我创建了一个新的webproject,立即更新了有问题的Nuget包,问题解决了.
归档时间: |
|
查看次数: |
41440 次 |
最近记录: |