2009-12-04 31 views
3

使用來自MSDN的幫助下,它說,-Vr選項是:如何SN.EXE -Vr

Registers assembly for verification skipping.

使用-Vr時,我的問題是,將它只能改變彙編文件本身或它也會更改系統註冊表。無論我應該在開發機器還是最終部署的機器中發出此命令,這都很重要。

回答

6

sn -Vr在本地機器的註冊表中創建一個條目。它不會修改程序集。您必須在每臺需要跳過目標程序集強名稱驗證的機器上本地運行sn -Vr。

既然你提到你關心的是一臺測試機器,你可能要記住,至少你的一些測試運行真的應該在應用程序的「已發貨」狀態下運行,這將包括程序集的最終簽名。雖然我明白關鍵管理問題可能會阻止將最終簽名應用於自動構建,但如果您想模擬最終的執行環境,最終需要使用完全簽名的程序集進行測試,並且不需要驗證跳過。

+0

嗨,妮可,你知道用戶列表參數和沒有用戶列表參數之間的區別嗎? – 2009-12-08 03:25:46

+1

如果您未指定用戶列表,則將在HKLM \ SOFTWARE \ Microsoft \ StrongName \ Verification下添加驗證跳過條目。如果您確實指定了用戶列表,則驗證跳過條目仍將添加到同一個密鑰下,但它將具有額外的UserList值,用於指定驗證跳過適用的用戶。當.NET運行時驗證程序集的簽名時,如果存在用戶列表,它應該僅考慮在用戶列表中爲用戶列表中的任何給定跳過條目應用驗證跳過。 – 2009-12-15 15:07:42

-1

都沒有。您不應該跳過您的部署版本的驗證。

+0

其實它不是部署系統,它是我的測試系統。請建議。如果我在測試系統中運行-Vr,是否意味着簽名不會在測試系統中被驗證? – 2009-12-04 06:35:24

+0

您需要在您要測試的機器上添加驗證跳過列表。 – 2009-12-04 06:53:03

+0

如果我只運行「sn -Vr a.dll」,a.dll是否在運行tht命令的機器上跳過? – 2009-12-04 08:09:27