ZMA*_*MAX 5 c# msbuild visual-studio
我有一个文件名MVCWebUIComponent.csproj,并将以下几行添加到我的文件中
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> </PropertyGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
Run Code Online (Sandbox Code Playgroud)
但它不会将目标包 v10.0 导入到此路径中
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
。我有 v9.0 文件夹,但我需要将包 v10.0 导入到我的 Visual Studio 2017 中。我该怎么办?
我有 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
Run Code Online (Sandbox Code Playgroud)
所以它不会将目标包 v10.0 导入到 path 中C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio。
此外,导入命令:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
Run Code Online (Sandbox Code Playgroud)
是原始行的关闭版本 ( 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" />
Run Code Online (Sandbox Code Playgroud)
导入命令<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" />
Run Code Online (Sandbox Code Playgroud)
注意:由于您有 v9.0 文件夹,因此您应该从其他计算机复制 v10.0。
| 归档时间: |
|
| 查看次数: |
5200 次 |
| 最近记录: |