我有一個C++項目,設置爲/clr
,C#項目在同一解決方案中引用該項目。不幸的是,似乎C++沒有得到正確的簽名,導致錯誤信息「程序集沒有強名稱」。 (sn.exe
同意那個錯誤。)
但是,是一個snk文件在項目設置中(Linker/Advanced),所以應該被簽名。此外,所有項目設置看起來都與同一解決方案中的另一個C++項目中的相同 - 在這裏一切正常。爲什麼我的C++程序集沒有簽名?
有一件事我撕我的頭髮在這幾個小時後發現:
當消除/NOLOGO
開關接頭,很明顯的是,連接器調用兩次。我絲毫不知道爲什麼會這樣。
現在,在作品的鏈接被傳遞在都調用命令行(/KEYFILE:
)的SNK文件,在不不工作的一個項目,第二次調用不不獲得SNK文件通過。
爲什麼要調用鏈接器兩次?什麼決定它不會在第二次調用中傳遞snk文件?
感謝您發佈此信息。你挽救了我幾個小時的頭髮。 – dss539
@ dss539:謝謝你告訴我! – sbi