有没有办法告诉visual studio为 bin 和 obj 目录使用不同的位置。 例如,如果我的项目位于 c:\ my \ myprojects.csproj 中,我怎样才能拥有obj和bin目录,例如 d:\ otherdirectory \ bin 和 d:\ otherdirectory \ _ obj 。 Visual Studio项目选项仅提供重定向bin目录,而不是obj目录。
另外,奖励问题:我可以使用环境变量,而不是完整路径或相对路径吗?
这可能吗?
由于
答案 0 :(得分:14)
请参阅此Article并使用节点 BaseOutputPath (对于Bin文件夹)和 .proj文件中的 BaseIntermediateOutputPath (对于Obj文件夹)。
以下是相对于bin修改调试和释放文件夹的方法 -
在“解决方案资源管理器”中,选择要配置的C#项目 构建参数。
接下来,从Visual Studio菜单栏中选择Project - > Properties。 物业页面对话框将出现在您的项目中。
选择要更改和展开的配置(发布/调试) 左侧窗格中的“配置属性”节点。选择 Studio位于“输出”的“输出路径”属性中 属性表。
请注意,输出路径是针对每种类型单独指定的 构建配置,并且在一个配置上设置它不会 把它放在剩下的所有。
原始来源 - http://www.eggheadcafe.com/software/aspnet/32040244/how-to-change-the-obj-folder.aspx
答案 1 :(得分:4)
要将obj
目录从代码库移至另一个公用文件夹,您可以执行以下操作。使用以下内容在解决方案的根目录中创建Directory.Build.props
:
<Project>
<PropertyGroup>
<BaseIntermediateOutputPath>$(SolutionDir)\_Obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
</PropertyGroup>
</Project>
要使公用obj
目录中的文件夹结构与解决方案中的文件夹结构相同,可以在解决方案的每个子文件夹中创建内容相同且相似的文件。例如。如果您有包含多个项目的子文件夹Algorithms
,则可以将包含以下内容的文件放入其中:
<Project>
<PropertyGroup>
<BaseIntermediateOutputPath>$(SolutionDir)\_Obj\Algorithms\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
</PropertyGroup>
</Project>
将BaseOutputPath
用于bin
文件夹。
答案 2 :(得分:0)
在Build选项卡的Project-options中,您可以选择输出路径(在底部)。