Visual studio 2008 Team Foundation构建在平面目录结构中下降
我正试图在我们的TF服务器上“修复”一个构建,该构建将所有内容放到一个大的平面放置中的放置文件夹中(而不是像本地构建那样放置在单独的项目转储中),我感到有点沮丧-老实说,这是我第一次使用MSBuild,这是我第一次使用它-它不是我从头配置的构建文件 我在网上找到了很多解决方案,其中大多数都很好。不幸的是,它似乎根本解决不了我的问题 在TFSBuild.proj中,我有一段代码,如下所示:Visual studio 2008 Team Foundation构建在平面目录结构中下降,visual-studio-2008,msbuild,tfsbuild,Visual Studio 2008,Msbuild,Tfsbuild,我正试图在我们的TF服务器上“修复”一个构建,该构建将所有内容放到一个大的平面放置中的放置文件夹中(而不是像本地构建那样放置在单独的项目转储中),我感到有点沮丧-老实说,这是我第一次使用MSBuild,这是我第一次使用它-它不是我从头配置的构建文件 我在网上找到了很多解决方案,其中大多数都很好。不幸的是,它似乎根本解决不了我的问题 在TFSBuild.proj中,我有一段代码,如下所示: <SolutionToBuild Include="$(BuildProjectFolderPath)
<SolutionToBuild Include="$(BuildProjectFolderPath)/../../mySolution.sln">
<Targets>SomeProject\Project</Targets>
<Properties>
CustomizableOutDir=true;
</Properties>
</SolutionToBuild>
SomeProject\Project
leoutdir=true;
据我所知,CustomizableOutDir确实设置为true,应该保留目录结构。我试着按照博客上的指示编辑一些项目文件,就像这样
<Target Name="AfterCompile" Condition="'$(TeamBuildOutDir)' != ''">
<ItemGroup>
<CompileOutputs Include="$(OutDir)\**\*" />
</ItemGroup>
<Copy
SourceFiles="@(CompileOutputs)"
DestinationFolder=
"$(TeamBuildOutDir)\ProjectName\%(RecursiveDir)" />
</Target>
但这种行为很奇怪——如果我编辑几个项目文件,我开始得到看起来可能是正确的解决方案,但仍然不够好——我得到了一个目录结构,其中包含像MyProj1和MyProj2这样的文件夹,但MyProj2似乎将MyProj1的所有输出都转储到其中(MyProj1的工作方式与我希望的一样)。除此之外,drop文件夹仍然将所有其他内容转储在一个大drop中(目录中包含此drop的副本)
有人知道是什么原因导致LeoutDir的行为不符合预期吗?或者我的csproj文件代码有问题吗?我看到了一些关于如何将CustomizelOutDir属性传递给msbuild以获得解决方案的建议
CustomizableOutDir=true
。()true
添加到主属性组()/p:customableoutdir=true
添加到TFSBuild.rsp()<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath Condition=" '$(TeamBuildOutDir)'=='' ">bin\debug\</OutputPath>
<OutputPath Condition=" '$(TeamBuildOUtDir)'!='' ">$(TeamBuildOutDir)projectName</OutputPath>
</PropertyGroup>
bin\debug\
$(TeamBuildOutDir)项目名称
方法1对我不起作用,方法2对我起作用。你就是那个人!发布应用程序包在Nuget上提供