有谁知道如何告诉 VS(2008) 在构建解决方案时保存 obj 文件夹的位置?我们让它将 bin 文件夹保存到另一个路径,以保持源文件文件夹较小(即可通过电子邮件发送),但找不到任何方法告诉它对 obj 执行相同的操作...
使用项目文件中的
BaseIntermediateOutputPath
属性(.csproj
、.vbproj
等),如 http://msdn.microsoft.com/en-us/library/bb629394.aspx 中所述。您必须使用文本编辑器手动编辑 XML 文档,然后在 Visual Studio 中重新加载它。它可能仍会创建 obj
文件夹(这是一个已知的错误),但会将其留空并将实际的 obj
文件放入您指定的文件夹中。
您可以将其添加到项目文件中的
<IntermediateOutputPath>..\Whatever\obj\</IntermediateOutputPath>
VS 仍会创建 obj 文件夹,因此每次构建后都必须将其删除。这可以通过将以下脚本放入 VS 中的构建后部分来完成:
rd "$(ProjectDir)obj" /S /Q
你使用版本控制吗?如果你这样做,还有一个替代方案:
您可以从版本控制中排除 bin/ 和 obj/ 并检查您的项目而不是通过电子邮件发送。如果您使用Subversion,您还可以导出您的项目并通过电子邮件发送导出和压缩的文件夹。
它是项目设置的Properties > General下的Output Directory。
编辑:本机 C++ 项目(我正在使用)和基于 CLR 的项目(这可能是 OP 所指的)的项目设置之间似乎存在差异。
我想对一些现有答案稍作调整,以便您的驱动器盘符可以是动态的:
<BaseIntermediateOutputPath>$(ProjectDir.Substring(0,2))\Publish\Web\obj\</BaseIntermediateOutputPath>
这很有用,因为如果您对驱动器号进行硬编码,并且在没有该驱动器号的计算机上打开项目,Visual Studio 将自动修改您的项目文件以使用您的用户有权访问的临时位置。通过使用
$(ProjectDir)
变量的前 2 个字符动态选择当前驱动器盘符,可以避免此问题。