有没有办法将解决方案构建到单个文件夹中?我在这个解决方案中有几个项目,每个项目都访问一个应该在当前目录中的配置文件.我只是将每个项目的构建文件移动到一个,它仍然可以工作,但是,它看起来如此无组织和混乱.我只是想知道还有其他方法可以做到这一点.
您可以在解决方案中的每个项目的设置中设置输出目录(如果我们是关于Visual Studio).菜单:项目 - >属性 - >构建 - >输出路径.例如,我用于..\Build\将项目构建到解决方案根目录的Build目录中.
您可以更改项目“输出路径”,默认情况下它是给定项目的 bin 目录。
右键单击每个项目,Properties从上下文菜单中选择,然后选择Build选项卡。Ont 底部的Output部分变化Output path:。为每个项目设置相同的路径。
我同意你的问题下的评论,你不应该改变它。相反,您可以创建构建后操作(PS 脚本),它将所有文件从项目的 bin 目录复制到您指定的目录。
更新:
将此脚本设置为构建后命令(项目的属性->构建事件选项卡->构建后事件命令行):
xcopy "$(TargetDir)*" "$(SolutionDir)Build" /s /i /Y
此MSDN文章介绍了如何以一种不错的DRY方式进行操作:https : //blogs.msdn.microsoft.com/kirillosenkov/2015/04/04/using-a-common-intermediate-and-output-directory-for -您的解决方案/
它仅允许您一次指定这些目录,并在多个项目中使用这些设置。
脚步:
在解决方案中创建一个common.props文件,该文件将指定项目的输出路径和中间路径并将其覆盖到公共目录(例如“ Solution / bin”)。这是我在本文中找到链接的示例* .props文件:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir>
<Configuration Condition="$(Configuration) == ''">Debug</Configuration>
<OutputPath>$(SolutionDir)\bin\$(Configuration)\</OutputPath>
<OutDir>$(OutputPath)</OutDir>
<OutDir>$(OutputPath)</OutDir>
<IntermediateOutputPath>
$(SolutionDir)\obj\$(Configuration)\$(MSBuildProjectName)\
</IntermediateOutputPath>
<UseCommonOutputDirectory>False</UseCommonOutputDirectory>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)通过添加此行(实际路径可能有所不同),将此文件包含到要为其设置公共输出目录的每个* .csproj中:<Import Project="..\Common.props" />
| 归档时间: |
|
| 查看次数: |
7345 次 |
| 最近记录: |