我在建立一個合併DLL以在Windows 8機器上以.net4.0爲目標的一些問題。我可以成功地建立在VS2012個人.net4.0的DLL,所以我就沒有這個問題:使用Windows 8/VS2012時的目標.Net 4.0
Targeting .NET 4.0 in VS 2012 on Windows 8
我所遇到下列優秀的博客帖子裏面討論我的問題:
也:
Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib
這SUG gests我在合併過程中使用以下語法:
/targetplatform:"v4,C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0"
不幸的是在Windows 8中我沒有這個目錄。我可以考慮以下可能的解決方案,但有興趣知道是否有人已經解決了這個問題。
- 將.net 4.0程序集從Windows 7機器手動複製到上述目錄中。
- 找到VS2012正在使用的.net 4.0程序集並引用它們。
- ??
這當然是因爲你從未在該機器上安裝過.NET 4.0。帶有VS2012的Windows 8機器只有.NET 4.5。因此,您應該只構建以4.5爲目標的項目。這也自動解決了這個問題。 –
@HansPassant - 您說得很好,但我仍然需要爲.net2.0 +系統創建程序集。這對於.net2.0和.net3來說不是問題。5那些在Windows 8中可用的問題出現在.net4.0中。 – MarcF