Visual studio 2010 VisualStudio/mstest如何识别测试项目?

Visual studio 2010 VisualStudio/mstest如何识别测试项目?,visual-studio-2010,mstest,Visual Studio 2010,Mstest,假设(100%假设)我意外地将一个单元测试项目作为项目类型“类库”添加到VS2010解决方案中。然后,我添加了将其作为单元测试项目运行所需的程序集,但当我点击“在解决方案中运行所有测试”时,MSTest将无法使用它。这里的标准是什么 我有两个理论,到目前为止都失败了: .testsettings文件中的某些内容(据我所知,此处没有对任何程序集的引用) .SLN文件中有内容(找不到任何内容) AssemblyInfo.cs中的某些内容(不,不是) 通过引用(…)UnitTestFramwork.

假设(100%假设)我意外地将一个单元测试项目作为项目类型“类库”添加到VS2010解决方案中。然后,我添加了将其作为单元测试项目运行所需的程序集,但当我点击“在解决方案中运行所有测试”时,MSTest将无法使用它。这里的标准是什么

我有两个理论,到目前为止都失败了:

  • .testsettings文件中的某些内容(据我所知,此处没有对任何程序集的引用)
  • .SLN文件中有内容(找不到任何内容)
  • AssemblyInfo.cs中的某些内容(不,不是)
  • 通过引用(…)UnitTestFramwork.dll隐式(Obv not)

有人吗?

在项目文件中,有一个名为
ProjectTypeGuids
的XML元素,其中包含一些表示测试项目的guid。示例如下

<Project>
  <PropertyGroup>
    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
  </PropertyGroup>
</Project>

{3AC096D0-A1C2-E12C-1390-A8335801FDB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
以下是Visual Studio 2010已知项目类型GUID的列表:

在上面的示例中,它显示项目的类型为TestWindows(C#)

  • 在解决方案资源管理器中,右键单击项目名称,然后选择卸载项目
  • 然后再次右键单击项目名称并选择编辑项目名称.csproj
  • 找到ProjectTypeGuids元素和以下代码。(如果找不到ProjectTypeGuids元素,只需插入它)

    
    {3AC096D0-A1C2-E12C-1390-A8335801FDB};
    {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
    

  • 保存更改,右键单击项目,然后选择重新加载项目


  • 为了帮助任何人,我遇到了相反的问题——我错误地添加了一个项目作为单元测试。为了将类型改回普通类库,我刚刚删除了其他答案中提到的ProjectTypeGuids标记,大概是放回了正确的标记。

    我发现要获得flask图标,我还需要添加
    UnitTest
    FWIW,10年后VS2019仍然如此