4
代碼合同重寫器使用強名稱(sn.exe
)實用程序來退出重寫的程序集。然而,在VS 2010的輸出窗格中我看到:使用強制代碼合同sn.exe 4.0
微軟(R).NET Framework中的強名稱實用程序版本3.5.30729.1
有沒有辦法使用的版本4.0給力的sn.exe
。或者它沒有任何區別?
代碼合同重寫器使用強名稱(sn.exe
)實用程序來退出重寫的程序集。然而,在VS 2010的輸出窗格中我看到:使用強制代碼合同sn.exe 4.0
微軟(R).NET Framework中的強名稱實用程序版本3.5.30729.1
有沒有辦法使用的版本4.0給力的sn.exe
。或者它沒有任何區別?
您可以修改代碼合同的MSBuild目標文件,以強制它使用版本4.0 SDK中的sn.exe。有問題的目標文件通常位於C:\Program Files\Microsoft\Contracts\MsBuild\v4.0\Microsoft.CodeContracts.targets
。
最簡單的修改是將一個版本替換線
<CodeContractsSnExe>"$(CodeContractsSdkPath)Bin\NETFX 4.0 Tools\sn.exe"</CodeContractsSnExe>
來指定要運行SN.EXE副本的確切路徑。例如: -
<CodeContractsSnExe>"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools\sn.exe"</CodeContractsSnExe>
如果您需要支持其他的版本,這將是一個更好的主意,讓舊線,但要在值爲空的分配條件。這樣,只有在需要時纔可以指定覆蓋。
...我必須重新啓動VS才能使其工作。 – 2011-06-17 09:43:11