【发布时间】:2011-11-18 16:14:43
【问题描述】:
根据this,应该可以引用解决方案之外的项目,并让它在 VS 和命令行中工作,但不能在 TFS 中工作。
不幸的是,当我尝试以这种方式对我的解决方案进行分区时,它在 VS2010/devenv 和 msbuild 中都不起作用。
在这两种情况下,错误都是:
没有为项目“Common.csproj”设置 OutputPath 属性。 请检查以确保您指定了有效的组合 该项目的配置和平台。配置='调试' 平台='AnyCPU'。如果其他项目也可能出现此错误 正在尝试遵循对该项目的项目到项目的引用, 此项目已卸载或未包含在解决方案中,并且 引用项目未使用相同或等效项构建 配置或平台。
但是,当前平台是“x86”,无论我在 VS 或 msbuild 中设置哪个平台和配置,它总是在尝试Debug|AnyCPU。在 msbuild 的情况下,如果我设置 /p:OutputPath=bin\x86\Debug 它会正确传播到子项目。
这是一个错误,我可以解决它吗?
更新
找到bug in MS Connect。不幸的是因为无法修复而关闭:(
更新 2
找到解决方法:设置ShouldUnsetParentConfigurationAndPlatform=false。在 msbuild 的命令行和项目文件中(在任何导入之前)都可以修复 Visual Studio。
【问题讨论】:
-
这似乎仍然发生在 msbuild 版本 16.1.68.42340
标签: visual-studio visual-studio-2010 msbuild