Visual studio 2015 我可以在另一台pc上使用msbuild构建CodedUI测试解决方案吗?

Visual studio 2015 我可以在另一台pc上使用msbuild构建CodedUI测试解决方案吗?,visual-studio-2015,msbuild,coded-ui-tests,Visual Studio 2015,Msbuild,Coded Ui Tests,我有VS2015 Enterprice edition(编译CodedUI项目需要它-如果我错了,请纠正我) 这些项目有一些CodedUI单元测试 1) 我可以在VS2015的开发PC上构建解决方案-没问题。 2) 我可以使用msbulid.exe solution.sln在我的开发pc上构建解决方案-没问题。 3) 我有另一台PC(测试PC),那里没有Visual studio,只安装了构建工具和.Net框架。尝试使用msbuild.exe生成解决方案时-出现与测试工具相关的错误: Asser

我有VS2015 Enterprice edition(编译CodedUI项目需要它-如果我错了,请纠正我)

这些项目有一些CodedUI单元测试

1) 我可以在VS2015的开发PC上构建解决方案-没问题。 2) 我可以使用msbulid.exe solution.sln在我的开发pc上构建解决方案-没问题。 3) 我有另一台PC(测试PC),那里没有Visual studio,只安装了构建工具和.Net框架。尝试使用msbuild.exe生成解决方案时-出现与测试工具相关的错误

Assertion\Assert_WPF.cs(6,40): error CS0234: The type or namespace name 'UITesting' does not exist in the namespace 'Microsoft.VisualStudio.TestTools' (are you missing an assembly reference?) 

我的问题:是否有可能在没有安装VS的测试机上构建包含CodedUI(仅包含在Enterprise edition中)的解决方案?

我们也有这个问题。这很有趣

当您安装VS Enterprise时,您也在将CodedUI.dll安装到全局程序集缓存中。这就是允许UI测试运行的原因。开发人员机器上的项目引用了这些

如果您尝试在其他地方运行它们,它们将搜索这些.dll,但找不到它们

您有两个选择:

  • 花大约3千美元购买您想要构建测试的机器的企业许可证
  • 创建一个包含必要的codedUI.dll的nuget包(或等效解决方案)。更新项目以引用此包而不是GAC(请注意,这相当困难)。在构建到没有enterprise的计算机时,请确保将包与解决方案一起部署

  • 您也可以使用Gacutil将codedUI.dll文件散播到其他计算机的GAC中,但我不推荐这样做。

    很抱歉,我昨天遇到了同样的问题

    Ryanmans的答案可能是正确的,但我发现这个问题还有另一个解决办法。如果查看相关的.csproj文件,您会发现类似的内容:

    <Choose>
    <When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
      <ItemGroup>
        <Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
          <Private>False</Private>
        </Reference>
        <Reference Include="Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
          <Private>False</Private>
        </Reference>
        <Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
          <Private>False</Private>
        </Reference>
        <Reference Include="Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
          <Private>False</Private>
        </Reference>
      </ItemGroup>
    </When>
    </Choose>
    

    这为我修复了这些错误,我们的构建服务器可以很好地构建项目。

    根据Ryanman的建议,这个问题怎么办?你能告诉我关于这个问题的最新信息吗?
    /p:DefineConstants="YourSymbolName" /t:Rebuild