所示如下:
遇到的問題
使用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. 直接去掉預編譯
參考:
VS2015打包程式發布
1 安裝 visual studio installer projects extension 2 使用vs2015的visual studio installer打包 如下 裡面最左側的框框有三個資料夾 2.使用者的 程式 選單 即 user s programs menu 表示 應用程式安裝完,...
VS常見問題
1 c opencv cvtcolor cv bgr2gray未宣告的識別符號的解決辦法 include 2 vs 2017新建專案編譯時出現 找不到 windows sdk 版本8.1.請安裝所需的版本的 windows sdk 專案 右鍵 屬性 配置屬性 常規 windows sdk版本 選擇v...
vs2015安裝Qt外掛程式問題
當在安裝好vs2015時,新建qt工程是吧,可能是qt外掛程式安裝失敗,可以關掉vs2015,然後以管理員執行vs2015,重新安裝qt外掛程式就可以了,當安裝好外掛程式之後,建立qt專案後,編譯失敗,報moc s h系統找不到指定的檔案的錯誤的時候,可能是因為qt環境變數沒有設定,可以在windo...