2013-10-24 46 views
1

我在旧的解决方案中完成了一项工作。我已经为此解决方案添加了一个新项目。对于这个解决方案,我们必须使用Visual Studio 2008,并且没有项目可以具有比2.0更新的.Net框架(因为它安装的服务器有限制)。在VS2008中有没有办法将MSBuildBinPath设置为用于新项目?

即使解决方案建立在我的机器上,我们仍然需要手工编辑项目(.csproj)文件中设置专门一个属性:

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

(当我加入这个项目这是自动生成的)需求要改变以

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

方便一些神秘的构建设置,没有人谁正在这里了解或想触摸。

this question/article我发现:

$(MSBuildToolsPath)是特定版本替换为$(MSBuildBinPath)。旧的属性仍然可用,但应该弃用。创建项目时,VS2008将使用较新的路径。在VS2005之前,使用了较旧的路径。当您将项目从VS2005升级到VS2008时,它不会修改路径。

这是否意味着在此构建脚本中MSBuildBinPath的路径是硬编码的?

手动更改此错误容易出错,容易忘记(it-build-on-my-machine效果)。有没有办法将它设置在VS2008的某个位置,这样该解决方案的新项目默认会在.csproj文件中获得旧属性?

回答

1

您是否尝试过在生成服务器上安装.net 3.5和VS2008?也许,你的构建服务器上只有.net 2.0和msbuild 2.0可用。

我只看到1个选项来完成您描述的内容:使用自定义项目模板。我相信这很容易完成(因为有一个tutorial,你只需要对默认模板稍作修改)。

+0

+1引导我走向项目模板。看起来很有希望。当我有机会时,我也会检查构建服务器。 – Halvard

+0

构建服务器确实安装了“.net 3.5”和“VS2008”。我认为你对项目模板的建议是最好的选择。谢谢! – Halvard

+0

(如果几天内没有人提供更好的东西,我会给你正确的答案检查) – Halvard

相关问题