我的单元测试项目图标显示为类库...如何修复?

时间:2013-03-05 02:45:15

标签: c# visual-studio-2012

我的VS2012 Update 1解决方案中有2个c#测试项目,一个显示类库图标,一个显示测试项目图标。他们都作为测试项目,但差异让我发疯。 (短途车程)。有谁知道如何解决这个问题?我查看了.csproj和.sln文件,但没有任何东西在向我跳跃。

5 个答案:

答案 0 :(得分:9)

  • 在“解决方案资源管理器”中右键单击项目,然后选择“编辑项目文件”
  • <PropertyGroup>节点中添加新子项:

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

  • 保存更改并关闭文件

  • 在“解决方案资源管理器”中右键单击项目,然后选择“重新加载项目”

https://adamprescott.net/2012/03/29/convert-a-class-library-to-a-test-project-in-visual-studio/

答案 1 :(得分:4)

这不是一个真正的解决方案,但它似乎是Visual Studio中的一个错误。

请参阅您可以关注的Microsoft Connect问题hereherehere

还有一个类似的问题here

<强>更新

这似乎在Visual Studio 2013预览中已得到解决。

答案 2 :(得分:2)

Pawel的答案是正确的,但它被html解析器截断了......提到的子节点应该如下所示:

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

这一行也可以直接添加到csproj文件中(到主PropertyGroup)。

答案 3 :(得分:1)

如果您的项目位于新的.csproj文件中(较不冗长,例如以<Project Sdk="Microsoft.NET.Sdk">为首行,支持globbing等),则可以为项目获取一个试管图标通过将Microsoft.NET.Test.Sdk NuGet程序包添加到您的项目,或将此行添加到您的.csproj文件中(相当于同一件事):

<ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" />
</ItemGroup>

(撰写本文时版本号正确-检查最新版本。)

答案 4 :(得分:0)

打开解决方案资源管理器,右键单击,转到属性,然后在“应用程序”下面有一个名为“输出类型”的下拉菜单,并将其从类库更改为您想要的任何内容(很可能是应用程序)。