假設我有兩個項目,P4和P3,分別針對.net 4.0和3.5。我的.Net應用程序可以引用.net框架庫的兩個不同版本嗎?
每個項目也有對System.Data的引用。 在P4的情況下,它將是System.Data v4.0.0.0 在P3的情況下,它將是System.Data v2.0.0.0
項目P4也引用P3。
如果P4加載並執行,它使用.net 4.0 CLR。在運行時,對System.Data的引用似乎在P4和P3內解析爲v4.0。我可以通過使用assemblyBinding重定向覆蓋此,但是然後P4和P3解析爲v2.0。
有什麼辦法可以配置我的應用程序,以便P4使用v4.0和P3使用v2.0?
我試過這個,但沒有運氣。 P3仍然運行v4.0。你知道這個設置是否會在爲P3生成的程序集中有任何可見的效果?例如。無論「特定版本」是否設置爲true,清單都會顯示「.ver 2:0:0:0」。 – Rob 2012-01-31 15:02:13
是的 - 這就是我遵循Seb的建議所做的。我還需要在啓動標記中指定useLegacyV2RuntimeActivationPolicy =「true」作爲屬性。否則,它會崩潰與未處理的異常:System.BadImageFormatException – Rob 2012-01-31 15:18:21
太棒了。他的鏈接讓我想起了配置,所以絕對接受他的回答。 – Randolpho 2012-01-31 15:19:46