移轉至 .NET Framework 4 的 Office 專案在執行前所必須進行的變更
更新:2010 年 5 月
如果 Office 專案的目標架構從舊版 .NET Framework 變更為 .NET Framework 4,您必須執行下列工作,以確保方案可以在開發電腦和使用者電腦上執行。
從升級自 Visual Studio 2008 的專案中移除 SecurityTransparentAttribute。
執行 Visual Studio 中的 Clean 命令,以便在開發電腦上執行或偵錯專案。
更新專案的 .NET Framework 必要條件。
如果在您變更目標架構前原本是以 ClickOnce 部署方案,則使用者還必須重新安裝方案。
如需上述各項工作的詳細資訊,請參閱以下對應的章節。
從升級自 Visual Studio 2008 的專案中移除 SecurityTransparent 屬性
如果您從 Visual Studio 2008 升級 Office 專案,而專案的目標架構後來變更為 .NET Framework 4,您必須從專案中移除 SecurityTransparentAttribute。Visual Studio 不會自動替您移除此屬性。如果您未移除此屬性,不但會無法載入方案,而且會回報下列錯誤。
「型別 'host item class in your project' 違反繼承安全性規則。 衍生型別的安全性存取範圍必須符合或小於基底型別的安全性存取範圍。」
如需 Visual Studio 可能將已升級專案的目標 Framework 變更為 .NET Framework 4 之情況的詳細資訊,請參閱升級和移轉 Office 方案。
移除 SecurityTransparentAttribute
在 Visual Studio 中的專案仍開啟時,開啟 [方案總管]。
在 [屬性] 節點 (適用 C#) 或 [我的專案] 節點 (適用 Visual Basic) 下,按兩下 AssemblyInfo 程式碼檔,在程式碼編輯器中開啟該檔案。
注意事項 在 Visual Basic 專案中,您必須按一下 [方案總管] 中的 [顯示所有檔案] 按鈕,才能查看 AssemblyInfo 程式碼檔。
尋找 SecurityTransparentAttribute,然後將它從檔案中移除,或將它變成沒有作用的註解。
<Assembly: SecurityTransparent()>
[assembly: SecurityTransparent()]
執行清除命令以在開發電腦上偵錯或執行專案
如果 Office 專案是在專案的目標架構變更為 .NET Framework 4 之前建置,則在目標架構變更之後,您必須執行 [清除] 命令然後重新建置專案。 如果您未執行 [清除] 命令,則會在您嘗試偵錯或執行重設目標的專案時,收到 COMException。
如需 [清除] 命令的詳細資訊,請參閱 Office 方案建置程序概觀。
更新必要條件以供部署
當您將 Office 專案的目標重設為 .NET Framework 4 時,同樣必須更新 [必要條件] 對話方塊中對應的 .NET Framework 必要條件。 否則 ClickOnce 部署或 Windows Installer 安裝程式專案會檢查並安裝舊版的 .NET Framework。
如需更新必要條件以部署至使用者電腦的詳細資訊,請參閱 HOW TO:在使用者電腦上安裝必要條件來執行 Office 方案。
在使用者電腦上重新安裝方案
如果您使用 ClickOnce 部署目標為 .NET Framework 3.5 的 Office 方案,然後將專案的目標重設為 .NET Framework 4,則在您重新發行方案之後,使用者必須解除安裝方案然後重新安裝方案。 如果您重新發行重設目標的方案,且方案已在使用者電腦上更新,則使用者會在執行更新的方案時收到 COMException。
如需解除安裝方案的詳細資訊,請參閱 HOW TO:解除安裝 ClickOnce Office 方案。
請參閱
概念
將 Office 方案移轉至 .NET Framework 4
變更記錄
日期 |
記錄 |
原因 |
---|---|---|
2010 年 5 月 |
新增有關從升級自 Visual Studio 2008 的專案中移除 SecurityTransparentAttribute 的章節。 |
資訊加強。 |