You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Visual Studio 2022中修改MSBuildExtensionsPath?

解决Xamarin Android项目中MSBuildExtensionsPath指向错误的问题

问题背景

新建VS2022 Xamarin Android App项目后,添加NuGet包时触发以下错误:

C:\Users\user\Source\Repos\user\project\project.csproj(112,3): error MSB4019: The imported project "C:\Program Files\dotnet\sdk\7.0.100\Xamarin\Android\Xamarin.Android.CSharp.targets" was not found. Confirm that the expression in the Import declaration "C:\Program Files\dotnet\sdk\7.0.100\\Xamarin\Android\Xamarin.Android.CSharp.targets" is correct, and that the file exists on disk.

项目文件第112行为模板默认生成的导入语句:

<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />

已找到目标.targets文件但路径不匹配,不想硬编码路径导致项目无法跨设备使用。

解决方案

1. 全局设置MSBuildExtensionsPath环境变量

  • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
  • 在「系统变量」区域点击「新建」:
    • 变量名:MSBuildExtensionsPath
    • 变量值:填写你找到的Xamarin.Android.CSharp.targets所在的上级MSBuild目录(例如C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\MSBuild)
  • 保存后重启Visual Studio,重新尝试添加NuGet包

2. 项目内动态适配路径(无硬编码)

在项目文件的<Import>语句前添加以下代码,让项目自动检测并修正路径:

<PropertyGroup>
  <MSBuildExtensionsPath Condition="!Exists('$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets')">$(VSInstallDir)MSBuild</MSBuildExtensionsPath>
</PropertyGroup>

这段代码会检查默认路径是否有效,无效则自动使用VS安装目录下的MSBuild路径,不影响其他设备开发。

3. 修复Visual Studio Xamarin组件

若以上方法无效,可能是Xamarin组件安装不完整:

  • 打开Visual Studio Installer,选择你的VS2022实例,点击「修改」
  • 在「工作负载」中找到「移动开发.NET」,确保勾选「Xamarin.Android」组件
  • 点击「修改」完成安装,重启VS后重试

内容的提问来源于stack exchange,提问作者cry_wifi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 04:40:40