1. 程式人生 > >VS2015 發布常見問題

VS2015 發布常見問題

安裝 遇到 ons 這也 inf html 版本 估計 mic

1. 發布時預編譯

所示如下:

技術分享圖片

遇到的問題

  使用abp時引用了System.Collections.Immutable.dll,但是項目編譯一直出錯,

排查:

  查看項目引用,可看到System.Collections.Immutable.dll來自 "\packages\Microsoft.Net.Compilers.1.0.0\tools"之下,版本為1.0比abp要使用的1.2版本低。

  引用這個原因是,nuget在查找時按序查詢,最先找到的dll會被先引用,竟然無視版本號,估計是個bug。

  但和預編譯有啥關系,因為開啟預編譯需要引用了Microsoft.Net.Compilers.1.0.0,Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0.

  而Microsoft.Net.Compilers.1.0.0依賴於

  System.Collections.Immutable.dll、System.Reflection.Metadata.dll、Microsoft.CodeAnalysis.dll、

  Microsoft.Build.Tasks.CodeAnalysis.dll、Microsoft.CodeAnalysis.CSharp.dll、Microsoft.CodeAnalysis.VisualBasic.dll

  這些組件,組件是獨立特定版本的dll,才導致沖突,安裝的時候控制臺其實會提示,這也是疏忽的原因,導致花很長時間排錯。  

解決:

  1.升級Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0,Microsoft.Net.Compilers其實是被DotNetCompilerPlatform依賴的。

  2. 直接去掉預編譯

參考:

https://www.cnblogs.com/liangjiang/p/7890678.html

VS2015 發布常見問題