簡體   English   中英

反映舊版本的System.dll

[英]Reflecting an older version of System.dll

我有一個構建活動,它反映了我們的一個庫,以便將它與域定義進行比較。 在反射過程中,每當我嘗試反映Uri時,它都會返回RunTimePropertyInfo而不是Uri,每當我檢查任何反射屬性時,我都會得到一個異常聲明......

"Could not load file or assembly 'System, Version=2.0.5.0, culture=neutral, publickeytoken=7cec85d7bea7798e, retargetable=yes"

使用System.dll版本4.0.0.0編譯構建活動。 我懷疑這是問題所在。 有沒有辦法在舊版本的System.dll上反映類型。

到目前為止,這只是Uri的失敗。 有任何想法嗎?

我認為存在版本問題,如果您使用的是項目中使用的不同版本的dll,則可能會發生此類錯誤。

這是一個過去對我有用的簡單解決方案,如果遇到同樣的問題,它會對你有用。 您可以通過定義有問題的dll的新舊版本在web.config中使用“ bindingRedirect ”標記。 所以這意味着它將忽略舊版本的dll引用並在發現時使用較新版本。並且不會生成錯誤。

這是參考鏈接。 http://msdn.microsoft.com/en-us/library/eftw1fys%28v=vs.71%29.aspx

你需要使用像IKVM.Reflection這樣的東西,

http://weblog.ikvm.net/PermaLink.aspx?guid=d0dc2476-471b-45f3-96bf-a90bc2f5800b

Microsoft的反映與托管的.NET Framework相關聯,因此您無法像希望的那樣加載舊版本的核心庫。

暫無
暫無

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

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