MSBuild&TFS2010查找Dll
|
我正在尝试创建一个自定义MSBuild任务,该任务将在本地或在TFS2010构建期间运行我的nUnit测试。该脚本在本地运行良好,但我似乎无法在TFS构建服务器上找到测试dll。我正在使用MSBuild.ExtensionPack中的任务来运行单元测试(再次在本地工作正常)。
程序集列表始终为空。 TargetDir显示的路径是\“ C:\\ Builds \\ 2 \\ Product1 \\ ci.product1.acme.com \\ Binaries \\\”,它对我来说很合适。我还尝试在CoreCompile目标之后而不是在AfterBuild目标中启动我的目标,而没有进行任何更改。
我可能犯了一些愚蠢的错误,但目前我处于“杀死我”模式。请帮忙。
<PropertyGroup>
<RunTFSBuild>false</RunTFSBuild>
<SolutionDirectory>$(MSBuildProjectDirectory)\\..</SolutionDirectory>
<ExtensionTasksPath>$(SolutionDirectory)\\_shared\\MSBuild\\</ExtensionTasksPath>
<TPath>$(ExtensionTasksPath)MSBuild.ExtensionPack.tasks</TPath>
<NUnitOutputFile>$(SolutionDirectory)\\nUnitResults.xml</NUnitOutputFile>
<NUnitOutputFileAsMsTest>$(SolutionDirectory)\\nUnitResultsAsMsTestResults.xml</NUnitOutputFileAsMsTest>
<ToolPath>$(SolutionDirectory)\\_shared\\MSBuild\\nUnit_2.5.7</ToolPath>
</PropertyGroup>
<Import Project=\"$(TPath)\" />
<Target Name=\"AfterBuild\">
<CallTarget Condition=\"$(RunTFSBuild)!=\'true\'\" Targets=\"NUnitTestRunner\" />
<CallTarget Condition=\"$(RunTFSBuild)==\'true\'\" Targets=\"NUnitTestRunner;TFSNUnitTestRunner\" />
</Target>
<Target Name=\"NUnitTestRunner\">
<ItemGroup >
<Assemblies Include=\"$(SolutionDirectory)\\**\\bin\\$(Configuration)\\*.nUnit.Tests.dll\" />
</ItemGroup>
<ItemGroup Condition=\"$(RunTFSBuild)==\'true\'\">
<Assemblies Include=\"$(TargetDir)\\**\\*.nUnit.Tests.dll\" />
</ItemGroup>
<Message Text=\"SolutionDirectory=$(SolutionDirectory)\" />
<Message Text=\"ExtensionTasksPath=$(ExtensionTasksPath)\" />
<Message Text=\"TargetDir=$(TargetDir)\" />
<Message Text=\"TPath=$(TPath)\" />
<Message Text=\"NUnitOutputFile=$(NUnitOutputFile)\" />
<Message Text=\"Running nUnit tests from: $(Assemblies)\" />
没有找到相关结果
已邀请:
1 个回复
古擅坛犯
2)替换部分(这可能只是清理项目,但由于CallTarget的某些限制,这可能非常重要):
3)如果1)和2)没有帮助,请尝试将生成的详细版本设置为诊断(msbuld键/ v:diag)。在日志中找到TFSNUnitTestRunner的所有调用,您将看到TFS上实际发生的情况。 编辑:*程序集*被声明为ItemGroup。使用@(Assemblies)访问项目:
属性$(Assemblies)在您的情况下始终为空。