Visual Studio项目转换错误

时间:2010-12-06 19:22:14

标签: visual-studio-2008 visual-studio-2010

我使用Visual Studio 2010编写了一个应用程序,我将其配置为使用3.5框架运行。

然后我检查了这个项目,并让一位使用Visual Studio 2008的同事抓住了这个项目。然后,他开始收到错误消息,指出无法找到文件\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets强调 v10.0

首先,当我将其转换为3.5时,为什么要尝试引用2010目录?它不应该在没有安装VS 2010的机器上运行吗?

其次,什么是Microsoft.WebApplication.targets以及我为什么需要它?

2 个答案:

答案 0 :(得分:3)

由于未安装V2010的计算机中不存在v10.0(第二个)路径,因此VS2008无法加载项目。

vs 2008 path -

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />

vs 2010 path -

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

但如果您想在两个安装中运行它,请执行以下操作 步骤1: 使用Condition属性在V9.0 MSBuild扩展路径之前添加V10.0路径,以根据解决方案版本检查文件。

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="'$(Solutions.VSVersion)' == '10.0'" />

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" Condition="'$(Solutions.VSVersion)' == '9.0'" />

以下是我们不首先指定Visual Studio 2010 MSBuild扩展路径,Visual Studio将尝试升级项目。

步骤2:

项目文件升级后,VS2010会将FileUpgradeFlags标记值更改为0,这将再次触发升级。从标签中删除零。

<FileUpgradeFlags></FileUpgradeFlags>

保存项目文件并重新加载。现在,您将能够在VS2010和VS20中加载项目。 VS2008(即使没有安装VS2010)没有任何问题。

答案 1 :(得分:0)

目标框架是什么并不重要。如果项目是使用VS 2010创建的,则无法在VS 2008中打开。

但是,使用VS 2008创建的项目可以转换为VS 2010格式。

关于第二个错误,您是否安装了VS 2010并安装了“Visual Web Developer”组件?

此文件随该组件一起安装。