|
22
|
| Jonathan Schuster · 技术社区 · 16 年前 |
|
|
1
14
我想出了一个好办法。事实证明,由于可以将outdir设置为工作流中所需的任何内容,如果将其设置为空字符串,则msbuild将改用特定于项目的outputpath。这让我们更加灵活。以下是我的整个解决方案(基于默认生成工作流): 在运行msbuild任务中,将outdir设置为空字符串。在同一个任务中,将commandlinearguments设置为如下所示。这将允许您从项目中引用tfs默认outdir:
在每个要复制到放置文件夹的项目中,按如下方式设置输出路径:
签入所有内容,您应该有一个工作构建,将每个项目部署到Drop文件夹下自己的文件夹中。 |
|
|
2
8
我也解决了这个问题,我认为它比这个线程上现有的解决方案更干净。
模板已填充
与OP的解决方案相比,其优势在于您不必编辑每个
|
|
|
3
4
我们必须这样做才能绕过这样的问题:我们有一个Silverlight和一个用于CSLA序列化的同名.NET库。库将被覆盖,我们的测试将失败。 我用乔纳森的回答 Jim Lamb's post 但我发现你也需要把outdir设置为空。 因此,需要为msbuild活动执行这些参数(如果使用以下宏,则还需要将活动参数设置为clean,否则将收到未设置outputpath的警告):
我还创建了一个宏,您可以在Visual Studio中运行该宏,它从配置中删除outputpath,并添加一个包含所有配置的outputpath的属性组,如:
宏如下:
希望这有帮助!!!! |
|
|
4
2
|
|
|
5
1
这里有一个非常简单的解决方案,不需要修改源文件或项目文件。在设置生成定义的过程->要生成的项目时,请添加每个项目(.csproj或.vbproj),而不是在要生成的项目中指定.sln文件。现在,在工作流的“为项目运行msbuild”步骤中,将outdir属性更改为以下内容:
这将把每个项目的构建输出放到以项目命名的子目录中。 |
|
|
6
1
我已经安装了 package PublishedApplications 对于我的解决方案中的每个可执行文件,它都从nuget中创建了子文件夹,并在生成过程中为每个项目创建了“PublishedApplications”文件夹下的子文件夹。 |
|
|
7
1
不确定是否仍可以让TeamBuild2010使用最新版本的msbuild,但有一个新属性/p:GenerateProjectSpecificOutputfolder=true(如果指定),则会将每个项目的位放入$(OutDir)\$(ProjectName)。 |
|
|
8
0
我还没有尝试让tfs/msbuild将输出文件放在单独的文件夹中,因此无法给出直接的答案。但是,以下是一些我没有在你的链接中发现的建议:
|
|
|
9
0
这是另一个非常简单的解决方案,不需要修改源文件或项目文件。在设置生成定义的过程->要生成的项目时,请添加每个项目(.csproj或.vbproj),而不是在要生成的项目中指定.sln文件。现在,在工作流的“为项目运行msbuild”步骤中,将outdir属性更改为以下内容:
|
|
|
Eli Sternbach · dotnet发布-无限循环 2 年前 |
|
|
Community wiki · 关于简化构建服务器设置的软件的建议 3 年前 |
|
|
Alan Deep · 以编程方式编译/构建C#项目 8 年前 |