TFSBuild.rsp
/verbosity:diagnostic
/p:CustomizableOutDir=true
TFSBuild.proj(生成代码段的解决方案)
<!-- code -->
<SolutionToBuild Include="$(BuildProjectFolderPath)/../../foo.csproj">
<Properties>OutputPath=$(BinariesRoot)\WindowsServices\foo\</Properties>
</SolutionToBuild>
<!-- tests -->
<SolutionToBuild Include="$(BuildProjectFolderPath)/../../test/test.sln">
<Targets>t1;t2</Targets>
<Properties>OutputPath=$(BinariesRoot)\TestHarness\</Properties>
</SolutionToBuild>
两者都有
<Properties>OutputPath=$(BinariesRoot)\TestHarness\</Properties>
<Properties></Properties>
,我在生成结束时遇到以下错误:
(CoreTestConfiguration目标)>
MSBUILD:警告MSB6003:错误
无法运行。目录名
发现后
this article
,然后添加以下内容:
<Target Name="AfterCompile">
<ItemGroup>
<SolutionOutputs Condition="'%(CompilationOutputs.Solution)' == '$(Solution)'" Include="%(RootDir)%(Directory)**\*.*" />
<ServiceOutputs Include="$(BinariesRoot)\WindowsServices\**\*.*" />
<TestHarnessOutputs Include="$(BinariesRoot)\TestHarness\*.*" />
</ItemGroup>
<Copy SourceFiles="@(SolutionOutputs)" DestinationFolder="$(TeamBuildOutDir)" />
<Copy SourceFiles="@(ServiceOutputs)" DestinationFolder="$(TeamBuildOutDir)" />
<Copy SourceFiles="@(TestHarnessOutputs)" DestinationFolder="$(TeamBuildOutDir)" />
</Target>
(后编译目标)>
C:\build\BuildType\TFSBuild.proj(289,5):
错误MSB3023:没有目标
“目的地文件”或
“目的地董事”。
http://schemas.microsoft.com/developer/msbuild/2003
DestinationFolder
关于将任务复制到
DestinationDirectory
正如所料,我得到了这个:
(后编译目标)>
C:\build\BuildType\TFSBuild.proj(288,44):
错误MSB4064:错误为
“DestinationDirectory”参数为
验证该参数是否存在于
任务,并且它是可设置的公共
实例属性。
C:\build\BuildType\TFSBuild.proj(288,5):
参数。
有没有人让LeoutDir和MSTest与他们的TFS团队建设协调一致?
我发现
this discussion
并应用了这一变化:
<Target Name="BeforeTest">
<!-- The tests won't run if the binaries directory does not exist -->
<MakeDir
Directories="$(BinariesRoot)\%(ConfigurationToBuild.FlavorToBuild)"
Condition="!Exists('$(BinariesRoot)\%(ConfigurationToBuild.FlavorToBuild)')" />
</Target>
其结果是:
“C:\build\BuildType\TFSBuild.proj”
(CoreTestConfiguration目标)>
MSBUILD:警告MSB6006: