簡體   English   中英

在某些計算機上生成期間未添加對Microsoft.Bcl修補程序庫(System.Runtime等)的引用

[英]References to Microsoft.Bcl patched libraries (System.Runtime, etc) are not added during build on some machines

我們最近使用NuGet將Microsoft.Bcl.Async添加到了我們的解決方案中。

這在兩台機器上完全正常。 但是,在兩台不同的計算機上,已編譯的程序集缺少對Microsoft.Bcl附帶的修補的.NET程序集(System.Runtime,System.IO等)的引用。 所有機器都運行Visual Studio2015。這些引用在項目文件和Visual Studio中都是可見的,只是它們沒有被編譯到程序集中(我為此編寫了一個小工具,從Assembly.GetReferencedAssemblies中查詢結果。

如果我在Windows XP上運行由其中一台“損壞的”計算機編譯的二進制文件,則該文件將不起作用,因為實際上並未包含Microsoft.Bcl。

我們已經嘗試過在新的工作空間中獲得一個全新的副本,甚至重新安裝Visual Studio,但是該版本仍然無法使用。

編輯:我在生成輸出中找到以下幾行:

16>CSC : warning CS1685: The predefined type 'INotifyCompletion' is defined in multiple assemblies in the global alias; using definition from 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
16>CSC : warning CS1685: The predefined type 'IAsyncStateMachine' is defined in multiple assemblies in the global alias; using definition from 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
16>CSC : warning CS1685: The predefined type 'AsyncTaskMethodBuilder<TResult>' is defined in multiple assemblies in the global alias; using definition from 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
16>CSC : warning CS1685: The predefined type 'ICriticalNotifyCompletion' is defined in multiple assemblies in the global alias; using definition from 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
16>CSC : warning CS1685: The predefined type 'AsyncTaskMethodBuilder' is defined in multiple assemblies in the global alias; using definition from 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

我還不太確定如何解決此問題,因此非常感謝您的幫助,但是我認為,這可能是我面臨的問題。

好吧,我想問題已經解決了。 在卸載所有與.NET相關的內容並重新安裝Visual Studio之后,“損壞的”計算機1顯然沒有損壞,或者魔術性地不再存在,並且現在修復了計算機2。

令人失望的是,我現在無法正確診斷此問題的根源,但我將不得不忍受這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM