use*_*719 17 c# msbuild visual-studio
有没有办法告诉visual studio为bin和obj目录使用不同的位置.例如,如果我的项目位于c:\ my\myprojects.csproj中,我如何将obj和bin目录放在d:\ otherdirectory\bin和d:\ otherdirectory\_ obj中.Visual Studio项目选项仅提供重定向bin目录,而不是obj目录.
此外,红利问题:我可以使用环境变量,而不是完整或相对路径?
这可能吗?
谢谢
Sac*_*hag 15
请参阅此文章,并在.proj文件中使用节点BaseOutputPath(For Bin文件夹)和 BaseIntermediateOutputPath(For Obj文件夹).
以下是相对于bin修改调试和释放文件夹的方法 -
在"解决方案资源管理器"中,选择要在其上配置构建参数的C#项目.
接下来,从Visual Studio菜单栏中选择Project - > Properties.将为您的项目显示"属性页"对话框.
选择要更改的配置(发布/调试),然后展开左侧窗格中的"配置属性"节点.选择Studio放置在"输出"属性表的"输出路径"属性中.
请注意,输出路径是针对每种构建配置单独指定的,并且在一个配置上设置它不会将其设置在所有剩余的配置上.
原始资料来源 - http://www.eggheadcafe.com/software/aspnet/32040244/how-to-change-the-obj-folder.aspx
Yol*_*ola 10
要将obj
目录从代码库移到另一个公共文件夹,您可以执行以下操作。Directory.Build.props
使用以下内容在解决方案的根目录中创建:
<Project>
<PropertyGroup>
<BaseIntermediateOutputPath>$(SolutionDir)\_Obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
要使公共obj
目录中的文件夹结构与解决方案中的文件夹结构相同,您可以在解决方案的每个子文件夹中创建具有相同和相似内容的文件。例如,如果您有Algorithms
包含多个项目的子文件夹,则可以将包含以下内容的文件放入其中:
<Project>
<PropertyGroup>
<BaseIntermediateOutputPath>$(SolutionDir)\_Obj\Algorithms\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
使用BaseOutputPath
的bin
文件夹中。