Dot-Net

強制從 /bin 而不是 GAC 載入程序集?

  • June 9, 2011

我有兩個程序集,通過條件編譯(開發和真實)創建。

這些程序集的公共表面是 100% 相同的:兩者都被強烈命名;兩者的簽名相同.snk,因此具有相同的PublicKeyToken;兩者都有相同的文化和相同的版本。我無法改變這一點:讓它們看起來相同是重點。

但是,在我的機器上,真正的程序集在 GAC 中。我有一個引用開發程序集的 ASP.NET 3.5 WebForms 應用程序。它絕對必須這樣做;真正的程序集會使應用程序崩潰。

鑑於以下情況,有沒有辦法強制特定的 ASP.NET 應用程序使用 dev 應用程序(位於 中/bin):

  • GAC 中有一個。
  • 兩者俱有相同的VersionPublicKeyToken
  • 兩者都使用相同的密鑰進行強命名/簽名。
  • 我無法更改它們,無法更改版本,也無法刪除密鑰。

我注意到有人已經在#991293中問過這個問題,但接受的答案涉及刪除簽名,這不是這裡的選項。

我運氣不好?

綁定程序集時始終首先嘗試 GAC:執行時如何定位程序集

所以不,你不能這樣做。但是,如果您解釋為什麼您有如此奇怪的要求,可能會有不同的解決方法,您沒有想到。

引用自:https://stackoverflow.com/questions/6298830