HOW TO:將單元測試設定成以 .NET Framework 3.5 為目標
當您使用 Visual Studio 2010 時,測試專案中的預設目標 .NET Framework 版本是 .NET Framework 4。 此外,如果測試專案是從 Visual Studio 2008 升級,升級的測試專案預設會以 .NET Framework 4 為目標。 您可以編輯專案屬性,將專案明確重設為以 .NET Framework 3.5 為目標。
警告
若要將測試專案重設為以 .NET Framework 3.5 為目標,您必須安裝 Visual Studio 2010 Service Pack 1。
Visual Studio 2010 Service Pack 1 為以 .NET Framework 3.5 為目標的單元測試提供下列基本支援:
您可以建立單元測試專案,將專案設定為以 .NET Framework 3.5 為目標。
您可以在本機電腦的 Visual Studio 2010 Service Pack 1 中,執行以 .NET Framework 3.5 為目標的單元測試。
您可以在命令提示字元中使用 MSTest.exe,執行以 .NET Framework 3.5 為目標的單元測試。
您可以在組建代理程式上執行單元測試做為組建一部分。
測試 SharePoint 2010 應用程式
上列功能也讓您使用 Visual Studio 2010 Service Pack 1 撰寫 SharePoint 2010 應用程式的單元測試和整合測試。 如需詳細資訊以了解如何使用 Visual Studio 2010 開發 SharePoint 2010 應用程式,請參閱 Visual Studio 中的 SharePoint 開發、建置和偵錯 SharePoint 方案和使用 ALM 功能驗證及偵錯 SharePoint 程式碼。
使用限制
當您將測試專案重設為以 .NET Framework 3.5 為目標時,適用下列限制:
在 .NET Framework 3.5 中,針對只包含單元測試的測試專案才支援多目標。 .NET Framework 3.5 不支援任何其他測試類型,例如自動程式碼 UI 或負載測試。 針對非單元測試的測試類型則會禁止重設目標。
只有在預設主機介面卡才支援執行 .NET Framework 3.5 測試。 ASP.NET 主機介面卡不支援執行這類測試。 必須在 ASP.NET 程式開發伺服器內容中執行的 ASP.NET 應用程式,必須與 .NET Framework 4 相容。
當您執行支援 .NET Framework 3.5 多目標的測試時,會停用資料收集支援。 您可以使用 Visual Studio 命令列工具執行程式碼涵蓋範圍。
使用 .NET Framework 3.5 的單元測試無法在遠端電腦上執行。
將 Visual Basic 單元測試專案重設為以 .NET Framework 3.5 為目標
建立新的 Visual Basic 單元測試專案。 選取 [檔案] 功能表上的 [新增],然後按一下 [專案]。
[新增專案] 對話方塊隨即出現。
展開 [已安裝的範本] 底下的 [Visual Basic]。 選取 [測試],然後選取 [測試專案] 範本。
在 [名稱] 文字方塊中輸入 Visual Basic 測試專案的名稱,然後按一下 [確定]。
在 [方案總管] 中,以滑鼠右鍵按一下新 Visual Basic 測試專案,然後選取 [屬性]。
Visual Basic 測試專案的屬性隨即顯示。
選取 [編譯] 索引標籤,然後按一下 [進階編譯選項] 按鈕,如下圖所示。
使用 [目標 Framework (所有組態)] 下拉式清單,將目標 Framework 從 [.NET Framework 4] 變更為 [.NET Framework 3.5],如下圖中的圖說文字 B 所示。
注意事項 如果出現錯誤訊息提示,請依照訊息中的連結所提供的指示進行,或請參閱下列程序將測試專案重設為以 .NET Framework 3.5 為目標所需的可能額外步驟。
將 Visual C# 單元測試專案重設為以 .NET Framework 3.5 為目標
建立新的 Visual C# 單元測試專案。 選取 [檔案] 功能表上的 [新增],然後按一下 [專案]。
[新增專案] 對話方塊隨即出現。
展開 [已安裝的範本] 底下的 [Visual C#]。 選取 [測試],然後選取 [測試專案] 範本。
在 [名稱] 文字方塊中輸入 Visual C# 測試專案的名稱,然後按一下 [確定]。
在 [方案總管] 中,以滑鼠右鍵按一下新 Visual C# 測試專案,然後選取 [屬性]。
Visual C# 測試專案的屬性隨即顯示。
選取 [應用程式] 索引標籤,然後使用 [目標 Framework] 下拉式清單,將目標 Framework 從 [.NET Framework 4] 變更為 [.NET Framework 3.5],如下圖所示。
注意事項 如果出現錯誤訊息提示,請依照訊息中的連結所提供的指示進行,或請參閱下列程序將測試專案重設為以 .NET Framework 3.5 為目標所需的可能額外步驟。
將 Managed C++/CLI 單元測試專案重設為以 .NET Framework 3.5 為目標
建立新的 C++ 單元測試專案。 選取 [檔案] 功能表上的 [新增],然後按一下 [專案]。
[新增專案] 對話方塊隨即出現。
警告
如果您的測試專案是使用 Visual Studio 2008 建立的,而您想要使用 Visual Studio 2010 Service Pack 1 來建置以 .NET Framework 3.5 為目標的 C++/CLI 單元測試專案,則必須先在 Visual Studio 2008 上安裝 Visual Studio 2008 Service Pack 1,然後才能在 Visual Studio 2008 中使用專案。 這是以 Framework 3.5 為目標版本的需求。 只安裝 .NET Framework 3.5 可轉散發套件是行不通的。 Visual Studio 2010 中的 Visual C++ 工具 (例如 cl.exe) 只能以 .NET Framework 4 為目標。 因此,若要以 .NET Framework 3.5 為目標,您必須有來自該舊版的工具。 這些工具隨著 Visual Studio 一起發行,而不是隨著 .NET Framework。
展開 [已安裝的範本] 底下的 [Visual C++]。 選取 [測試],然後選取 [測試專案] 範本。
在 [名稱] 文字方塊中輸入 Visual C++ 測試專案的名稱,然後按一下 [確定]。
在 [方案總管] 中,以滑鼠右鍵按一下新 Visual C++ 測試專案,然後選取 [卸載專案]。
在 [方案總管] 中,以滑鼠右鍵按一下卸載的 Visual C++ 測試專案,然後選取 [編輯 <專案名稱>.vcxproj]。
.vcxproj 檔案隨即在編輯器中開啟。
在標示為 "Globals" 的 PropertyGroup 中,將 TargetFrameworkVersion 設為 3.5 版。
<PropertyGroup Label="Globals"> <TargetName>DefaultTest</TargetName> <ProjectTypes>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}</ProjectTypes> <ProjectGUID>{CE16D77A-E364-4ACD-948B-1EB6218B0EA3}</ProjectGUID> <TargetFrameworkVersion>3.5</TargetFrameworkVersion> <Keyword>ManagedCProj</Keyword> <RootNamespace>CPP_Test</RootNamespace> </PropertyGroup>
儲存並關閉 .vcxproj 檔案。
在 [方案總管] 中,以滑鼠右鍵按一下新 Visual C++ 測試專案,然後選取 [重新載入專案]。
將測試專案重設為以 .NET Framework 3.5 為目標所需的可能額外步驟
如果您在將 Service Pack 1 安裝到 Visual Studio 2010 之前修改了 devenv.exe.config 檔案,需要額外步驟才能啟用以 .NET Framework 3.5 為目標。 Service Pack 1 的安裝若偵測到組態檔已修改,並不會覆寫它。
注意事項 |
---|
如果您已經安裝 Visual Studio 附加元件或外掛程式,可以修改 devenv.exe.config 檔案。 |
如果您在安裝 Service Pack 1 之前修改了 devenv.exe.config 檔案,而檔案不正確,在下列情況下會出現錯誤訊息:
您嘗試使用已安裝 Service Pack 1 的 Visual Studio 2010,將測試專案重設為以 .NET Framework 3.5 為目標。
您嘗試開啟已重設目標的測試專案。
若要更正此錯誤,請使用下列程序。
若要將遺失的 XML 項目加入至組態檔
關閉 Visual Studio 2010 的所有執行個體。
以系統管理員身分開啟 Visual Studio 2010 命令提示字元。
如果您使用的是 32 位元 Windows,則變更目錄至 "%programfiles%\MicrosoftVisual Studio 10.0\Common7\IDE",如果使用的是 64 位元 Windows,則變更目錄至 "%programfiles(x86)%\MicrosoftVisual Studio 10.0\Common7\IDE"。
在文字編輯器 (例如 notepad.exe) 中開啟 devenv.exe.config 檔案。
在 <assemblyBinding> 節點底下,加入下列項目:
<dependentAssembly> <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.UnitTestFramework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="10.1.0.0" newVersion="10.0.0.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="10.1.0.0" newVersion="10.0.0.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="10.1.0.0" newVersion="10.0.0.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Tip" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="10.1.0.0" newVersion="10.0.0.0"/> </dependentAssembly>
在 <configuration> 節點底下,加入下列項目:
<appSettings> <add key="TestProjectRetargetTo35Allowed" value="true" /> </appSettings>
儲存 devenv.exe.config 檔案。
重新啟動 Visual Studio 2010。
現在您應該可以將測試專案重設為以 .NET Framework 3.5 為目標。