由於v10.0(第二個)路徑不存在於未安裝V2010的機器中,因此VS2008無法加載該項目。
VS 2008的路徑 -
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
VS 2010路徑 -
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
但如果u要在安裝這兩種運行它,做作爲欠 第一步: 添加V10。 V9.0 MSBuild擴展路徑之前的0路徑,並使用Condition屬性根據解決方案版本檢查文件。
<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會嘗試升級項目。
第二步:升級VS2010
項目文件後,將一改以往FileUpgradeFlags標籤值設置爲0,這將再次觸發升級。從標籤中刪除零。
<FileUpgradeFlags></FileUpgradeFlags>
保存項目文件並重新加載。現在您將可以在VS2010中加載項目& VS2008(即使未安裝VS2010)也沒有任何問題。
你的同事做了什麼來打開這個項目? VS2008無法讀取VS2010項目。 – 2010-12-06 19:42:12
@Hans你確定這是正確的嗎?我已經能夠打開vs2008使用3.5框架編譯的VS2010項目,但只有當我在該機器上安裝vs2010時也是如此。爲什麼我選擇(被迫)這樣做是另一回事。 – 2010-12-06 20:43:44