visual-studio-2010 - 如何更改 VS2010 中的构建文件夹?

标签 visual-studio-2010 msbuild

我在 VS2010 DB 项目中收到错误,表明我的构建路径中有太多字符。

如何更改所有项目类型的默认构建路径?

类似

c:\build\$(projectname)\...... 

谢谢!

编辑: 我已将我的项目移至 C: 驱动器的根目录,但我的数据库项目仍然出现错误。当我尝试右键单击项目并选择属性时出现此错误

尝试加载项目属性窗口时发生错误。关闭窗口并重试。 无法评估项目元数据“%(FullPath)”。项目元数据“%(FullPath)”无法应用于路径“obj\Debug|Any CPU\TASS.DB.dbschema”。路径中存在非法字符。 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets

最佳答案

这里我首先想到的是,你的平台和配置正在融合在一起形成“调试|任何CPU”,并且从中生成一个字符串——管道是它在它引用时引用的字符。说有非法字符。我不确定您的数据库项目在调试/发布和架构方面到底有多大不同,但您甚至可能不需要将它们包含在路径中。

由于您无法打开项目属性页,因此您需要通过卸载 msbuild 并从上下文菜单中选择“编辑...”来直接编辑 msbuild(如果您已经知道这一点,抱歉)。

从那里开始,假设您确实在 Windows 路径长度上限上运行,您可以使用一些 msbuild 技巧来最大化那里的净空。具体来说,执行类似于您建议的操作:尽可能使用 C:\驱动器。

为此,请查看包含配置和平台配置条件的 PropertyGroup 内部,并在其中替换 OutputPath 和 IntermediateOutputPath 属性,以便它们尽可能短,例如:

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    <OutputPath>$(SystemDrive)\D\A</OutputPath>
    <IntermediateOutputPath>$(SystemDrive)\o\D\A</IntermediateOutputPath>
</PropertyGroup>
  • 这样可以节省一些有值(value)的字符,因为您使用的是“D”、“A”代表“AnyCPU”和“o”代表“o​​bj”,而不是“调试”。
  • 可能最重要的是,您使用 C:\o\作为中间构建目录,而不是 C:\whatever-the-whole-path-is-to-your-project-file\obj。此外,据我记得,该属性无法从属性页进行配置。
  • 使用 SystemDrive 而不是硬编码的 C: 增加了一些灵活性,但我并不真正希望它有所不同。

最后,关于您的属性页加载问题,我不知道 Debug|AnyCPU 是如何进入您的路径的(我不知道有任何属性可以存储这样的串联 flavor ),但您应该能够打开文件后,很容易就能找到它。希望它类似于 winforms 设计器中的加载错误,您更改一行,突然整个事情又恢复正常了。

希望这有帮助!

关于visual-studio-2010 - 如何更改 VS2010 中的构建文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3719333/

相关文章:

visual-studio-2010 - 大型 Visual Studio 解决方案中的单元/集成测试组织

多个文件上的 MsBuild WriteLinesToFile 任务

deployment - TFS Web Deploy 不通过构建执行而是在本地执行?

msbuild - 如何使用 MSDeploy 转换 Web.config 自定义部分?

visual-studio-2010 - 自动化 VS 2010 "Publish"配置文件替换

c# - VS 2010 鼠标处理器扩展 - 不工作

sql-server - VS2010 : Bad IL Range error

c++ - 用 C++ 为非英语语言打印字符串

c# - 依赖项未复制到 bin 文件夹

visual-studio - 尝试对 "$(lastknowntypescriptversion) that evaluates to "进行数字比较“而不是数字