我正在將一些現有的 C# 項目轉換為在 CMake 中定義——從以前的include_external_msproject()指令轉移到對 C# 的更新的完全支持。但我沒有看到如何轉換該Visual C# Unit Test Project類型的項目。我能夠將它們構建為庫,并成功編譯它們——但 Visual Studio 不會將它們顯示為單元測試項目,就像常規(guī)庫一樣。最關鍵的是,測試資源管理器看不到測試。我已經嘗試過的事情包括:添加TestProjectType=UnitTest為目標屬性:<TestProjectType>UnitTest</TestProjectType>添加引用路徑,如下所示,作為目標屬性:<ReferencePath>$(ProgramFiles)/Common Files/microsoft shared/VSTT/$(VisualStudioVersion)/UITestExtensionPackages</ReferencePath>添加Microsoft.VisualStudio.QualityTools.UnitTestFramework為項目參考(使用 CMake 的VS_DOTNET_REFERENCES屬性)。我正在使用 Microsoft Visual Studio Professional 2015、CMake 3.13.2、.NET Framework 4.5.2(但我懷疑該問題并非特定于我的特定版本組合)。
2 回答

Smart貓小萌
TA貢獻1911條經驗 獲得超7個贊
手動添加<TestProjectType>UnitTest</TestProjectType>,使我的單元測試項目顯示為單元測試。試圖弄清楚如何使用 cmake 做到這一點。
更新:以下將項目顯示為 unittest
set_target_properties(${target_name}
PROPERTIES
VS_GLOBAL_PROJECT_TYPES "{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"
)
文檔VS_GLOBAL_PROJECT_TYPES在這里。我找到了 Project Guid 的文檔:Visual Studio project type guids

慕絲7291255
TA貢獻1859條經驗 獲得超6個贊
您還可以將 TestProjectType 添加到全局屬性:
set_target_properties(${target_name} PROPERTIES
VS_GLOBAL_TestProjectType "UnitTest"
VS_GLOBAL_PROJECT_TYPES "{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}")
- 2 回答
- 0 關注
- 123 瀏覽
添加回答
舉報
0/150
提交
取消