當您以開發人員的身分在 Visual Studio 中建置 Office 專案時,根據預設,組件的完整路徑 (包括組件名稱) 會在使用者層級加入至您的 .NET Framework 安全性原則。因此,組件會得到完全的信任。建置專案時,專案輸出資料夾中參考的組件也會獲得完全信任。
如果預設設定未變更,Visual Studio Tools for Office 就會在您每次建置方案時檢查快取中的安全性原則。如果組件沒有完全信任,則 Visual Studio Tools for Office 會授與完全信任。即使您重新命名組件或將專案移至新位置,這仍可讓您的專案保留信任。
如果您變更預設信任設定 (將 [信任組件位置] 屬性設為 false),則 Visual Studio 不會授與對組件的完全信任,而且程式碼也不會執行。若要重新執行程式碼,請將 [信任組件位置] 屬性變更為 true,並重建您的方案。您也可以設定全域規則,讓專案資料夾和子資料夾中執行的所有程式碼都具有完全信任。
如需如何設定專案的信任選項,以及如何授與對資料夾完全信任的詳細資訊,請參閱 HOW TO:將使用權限授與資料夾和組件 (2003 系統)。
安全性原則快取
Common Language Runtime 會快取每個處理序的安全性原則。當您在建置專案時,Visual Studio 就會檢查這個快取,查看組件是否具有完全信任。如果組件在 Visual Studio 啟動時已經具有完全信任,Visual Studio 就不會在建置程序期間建立這些組件的原則。
如果您在 Visual Studio 執行時變更與專案相關的安全性原則,Visual Studio 就不會偵測到這項變更。如果您所做的變更讓專案無法執行,應用程式就會擲回安全性例外狀況,因為 Visual Studio 不會重新建立將完全信任授與組件的原則。若要讓 Visual Studio 偵測安全性原則變更,您必須先關閉並重新開啟 Visual Studio。
使用舊版本建立的方案
您電腦上安裝的每個 Microsoft .NET Framework 版本都有相關聯的安全性原則。Visual Studio Tools for Office 方案會檢查建立方案之 .NET Framework 版本的安全性原則。也就是說,如果某個方案是使用 Visual Studio Tools for Office (2003 版) 所建立,它就一定會檢查 .NET Framework 1.1 版的安全性原則。如果某個方案是使用 Visual Studio 2005 Tools for Office 所建立,它就一定會檢查 .NET Framework 2.0 版的安全性原則。
Visual Studio Tools for the Office system 3.0 方案會檢查是否為 .NET Framework 3.5 版,但可將 Office 2003 的方案設定為 .NET Framework 2.0 版。如需詳細資訊,請參閱 HOW TO:變更目標 .NET Framework。
建立於網路上的專案
雖然您可以在共用網路位置中建立專案,不過您必須在電腦層級授與此專案完全信任,才能透過網路執行。根據預設,Visual Studio Tools for Office 會在使用者層級授與 URL 辨識項。您必須以手動方式在電腦層級授與組件完全信任。
如果您只使用 URL 辨識項來授與對網路位置的完全信任,擁有該位置寫入權限的惡意使用者便可將組件取代成他們自己的程式碼,並誘騙使用者執行該程式碼。請考慮使用其他辨識項形式,以取代 URL 辨識項或補充 URL 辨識項的不足。如需詳細資訊,請參閱本主題中的辨識項類型。