有没有一种方法可以告诉Visual Studio使用不同的位置来存储bin
和obj
目录?
例如,如果我的项目在C:\my\myprojects.csproj,我怎样才能将obj
和bin
目录放在,比如说,D:\otherdirectory\bin和D:\otherdirectory\obj中。Visual Studio项目选项只提供了重定向bin
目录而不是obj
目录。
另外,额外的问题:我能使用环境变量,而不是完整或相对路径吗?
这个可行吗?
有没有一种方法可以告诉Visual Studio使用不同的位置来存储bin
和obj
目录?
例如,如果我的项目在C:\my\myprojects.csproj,我怎样才能将obj
和bin
目录放在,比如说,D:\otherdirectory\bin和D:\otherdirectory\obj中。Visual Studio项目选项只提供了重定向bin
目录而不是obj
目录。
另外,额外的问题:我能使用环境变量,而不是完整或相对路径吗?
这个可行吗?
参考这篇文章,在.proj文件中使用节点BaseOutputPath(用于bin
文件夹)和BaseIntermediateOutputPath(用于obj
文件夹)。
下面是一种相对于bin
修改调试和发布文件夹的方法-
在解决方案资源管理器中,选择要配置构建参数的C#项目。
接下来,从Visual Studio菜单栏中选择项目→属性。将为您的项目显示属性页对话框。
选择您想要更改的配置(Release/Debug),并在左侧窗格中展开配置属性节点。选择“输出”属性表中的“Output path”属性,其中Studio位于。
请注意,输出路径针对每种类型的构建配置单独指定,并且在一个配置上进行设置并不会在其余的配置上设置。
原始来源-http://www.eggheadcafe.com/software/aspnet/32040244/how-to-change-the-obj-folder.aspx
要将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
文件夹。