Dot-Net
強制從 /bin 而不是 GAC 載入程序集?
我有兩個程序集,通過條件編譯(開發和真實)創建。
這些程序集的公共表面是 100% 相同的:兩者都被強烈命名;兩者的簽名相同
.snk,因此具有相同的PublicKeyToken;兩者都有相同的文化和相同的版本。我無法改變這一點:讓它們看起來相同是重點。但是,在我的機器上,真正的程序集在 GAC 中。我有一個引用開發程序集的 ASP.NET 3.5 WebForms 應用程序。它絕對必須這樣做;真正的程序集會使應用程序崩潰。
鑑於以下情況,有沒有辦法強制特定的 ASP.NET 應用程序使用 dev 應用程序(位於 中
/bin):
- GAC 中有一個。
- 兩者俱有相同的
Version和PublicKeyToken。- 兩者都使用相同的密鑰進行強命名/簽名。
- 我無法更改它們,無法更改版本,也無法刪除密鑰。
我注意到有人已經在#991293中問過這個問題,但接受的答案涉及刪除簽名,這不是這裡的選項。
我運氣不好?
綁定程序集時始終首先嘗試 GAC:執行時如何定位程序集
所以不,你不能這樣做。但是,如果您解釋為什麼您有如此奇怪的要求,可能會有不同的解決方法,您沒有想到。