我有v9.0文件夾,但我需要導入包v10.0到我的visual studio 2017.我該怎麼辦?
不知道爲什麼你要導入包V10.0到您的Visual Studio 2017年。既然你想將其導入到Visual Studio 2017的$(MSBuildExtensionsPath32)
值應該是新的位置是相對的MSBuild目錄:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild
因此,它不會將目標包v10.0導入路徑C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
。
此外,導入命令:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
是關斷版原裝線允許的Visual Studio(條件=「假」)仍然認爲你的項目是一個有效的Web應用程序項目(這是VS 2010 SP1本身的訣竅)。所以,通常,包v10.0不會被導入。
您可以創建一個Web應用程序項目,檢查項目文件,你會發現下面的代碼:
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
import命令<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
是實際進口,當(Condition="false")
最新的行會進口。
如果導入包V10.0到我的Visual Studio 2017年是你的堅持,你只需要添加一些東西到的csproj重定向MSBuildExtensionsPath
:
<PropertyGroup>
<MSBuildExtensionsPath32>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio</MSBuildExtensionsPath32>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath32)\v10.0\WebApplications\Microsoft.WebApplication.targets" />
注:既然你是有V9.0文件夾,你應該從其他機器複製v10.0。
嗨,leo,非常感謝你的答覆.. :-)我是jst試圖解決這個問題。我是新網點和視覺工作室..我看到一些帖子關於這個&他們聲明導入v10.0。你能告訴我如何解決這個問題嗎?我有麻煩來解決它。在64位機器上運行32位MSBuild –
你的意思是你想解決的問題「目標」包「不存在於項目文件名爲MVCWebUIComponent.csproj」?或其他問題?如果是的話,你做了什麼以及如何重現這個問題?另外,32位應用程序可以在64位機器上使用。如果你的原始問題不是關於「導入目標包v10.0」,我建議你可以用更多的細節信息來描述你的問題,你做了什麼,你是如何解決它的,以及帶有新問題的錯誤信息。 –