2010-03-22 44 views
6

由於各種原因,我寧願不要在我的項目中使用強命名(簽名)程序集。但是,其中一個項目由Sharepoint Web部件引用,這意味着它必須經過簽名。c# - 你可以做一個「弱」的程序集引用一個強有力的命名程序集

是否有可能讓此程序集簽名,但是當我從其他項目中引用它時,請使用非強引用來完成此操作。這會給我帶來一個沒有簽名的程序集的剩餘代碼的優點,但仍然允許它由Sharepoint加載。

回答

3

最簡單的方法可能是有兩個不同的項目配置 - 其中一個構建強命名的程序集,其中一個沒有。顯然,你需要小心你如何構建和引用程序集,但這與需求衝突的領域一致。

+0

如何在Visual Studio中設置「兩個不同的項目配置」? – 2012-09-11 00:55:21

+0

@PavelChuchuva:請參閱http://msdn.microsoft.com/en-us/library/kkz9kefa.aspx – 2012-09-11 01:00:19

+0

在項目屬性中的簽名選項卡上禁用配置下拉列表:http://i.imgur.com/vwZKy。 png – 2012-09-11 01:08:24

0

這是OP,但我沒有一個OpenID做登錄,所以我想我不能回覆自己。

謝謝你的迴應。我認爲要麼有效,但情況會變得更復雜一些。我已經在這裏記錄了我的發現,以防其他人感興趣。

事實上的SharePoint引用組件A和組件又引用總成B.一個

我可以建立裝配A和B都無符號沒有問題,但當時如果我想籤一份,我必須改變項目本身以引用裝配B的簽名版本。

儘管可能有一種方法可以做到這一點,但我們確定可能的DLL衝突和具有相同名稱的不同DLL集的配置控制問題不值得麻煩。

因此,我們決定在所有構建中籤署這兩個程序集,必要時將代碼重構爲不同的程序集,以確保只有最少量的代碼位於已簽名的代碼中,以便它們不太可能發生更改。

Tim

相關問題