创建Xamarin.Forms跨平台应用程序时出现“需要Visual Studio更新才能加载此项目”错误

20

当我尝试在 Windows 7 上使用 Visual Studio Community 2015 创建一个 Xamarin.Forms 应用程序时,它显示:

当我尝试在 Windows 7 上使用 Visual Studio Community 2015 创建一个 Xamarin.Forms 应用程序时,它显示:

"A problem was encountered creating the sub project 'ACME.Windows'. This project requires a Visual Studio update to load. Right-click on the project and choose 'Download Update'."

我已更新所有可用的最新更新...

我该如何修复这个问题?

注意:我找不到右键选项下载更新...


你的模拟器在运行吗? - Ammar Shaukat
@Ammar 模拟器没有运行... :( - user4826780
我在Windows 10上使用Visual Studio Enterprise 2015 Update 2时遇到了同样的问题。在下面的评论中,我看到@Rhyous在Windows 8.1上也遇到了同样的问题。 - Trevor Young
6个回答

8

不需要卸载。

您需要更新“Xamarin工具”。

  1. 进入控制面板
  2. 选择“卸载程序”
  3. 搜索 Microsoft Visual Studio
  4. 选择 MVS
  5. 在顶部栏中选择“更改”
  6. 选择修改或修复
  7. 选择“跨平台移动开发”,完成


2
这是最简单、最准确的解决方案。 - DrCJones

6
我正在使用Windows 10,遇到了相同的问题。似乎是@SeeuD1提到了缺少SDK的问题。以下是我解决它的方法:
首先,我的具体症状是我试图创建一个新的Xamarin.Forms可移植空白应用程序。它会为我创建包含三个项目的解决方案,其中一个带有名称后面的(Portable),一个带有.Droid,一个带有.iOS。没有创建windows项目。但我遇到了上面提到的错误。
为了解决这个问题:我尝试创建一个仅UWP的项目,步骤是文件> 新建> 项目,然后选择模板> Visual C#> Windows>通用。在中间部分,它没有提供任何要选择的项目,而是只有一个选项安装通用Windows工具,我双击它,然后进行了漫长的安装过程。
安装完成后,我尝试创建一个新的Xamarin.Forms可移植空白应用程序,并且更像@SeeuD1在他的答案中描述的体验。它给了我上述错误两次,并且还弹出了一个窗口,让我选择UWP应用程序的目标版本和最小版本。完成后,我拥有了一个包含四个项目的解决方案。所有内容与上述三个项目相同,还有一个带有名称后面的.UWP(通用Windows)
我敢打赌,如果我现在安装Windows 8 SDK和Windows 8.1 SDK,那么另外两个错误消息很可能会消失,并且我最终会得到我的解决方案中的两个更多的项目。
所以我相信这只是安装正确的SDK的问题(可以通过与上面安装UWP工具时类似的方式访问安装Windows 8工具的选项,除了它们将位于Universal下而不是Windows 8)。在您特定的Windows 7情况下,我不认为任何这些SDK对您可用,但这不应该对您造成不利影响,除非您想进行Windows / Windows Phone开发。 Android和iOS应该仍然可以使用(对于iOS,我假设您也有一台Mac)。如果您确实要进行Windows / Windows Phone开发,则可能需要升级操作系统。
如果是这种情况,则我相信从Windows 7升级到Windows 10仍处于免费升级阶段,虽然这应该在几个月后结束。
编辑:今天我安装了Windows 8 SDK并再次尝试。我可以确认,在安装它以及上述安装UWP SDK之后,错误不再出现。此外,除了之前提到的项目之外,现在还有两个新项目。一个带有名称后面的.Windows(Windows 8.1),另一个带有名称后面的.WinPhone(Windows Phone 8.1)

2
大约两个小时前,我遇到了这个问题。当时我正在重新启动一个旧项目,该项目在Windows 7上开始,现在正在使用Windows 10继续开发。在这两种情况下,它都是Visual Studio 2015中的Xamarin项目。
在我的情况下,问题的原因是.csproj文件中目标框架版本和配置不匹配。尽管项目属性中目标框架是正确的,但由于某种原因它们没有被正确保存。因此,当尝试从nuGet安装实用库时,它让我的项目处于你所描述的状态。
解决方法是参考以下网站: .NET 中的框架配置文件 并找到正确的组合,然后手动编辑.csproj文件以调整和。

这是一个天真的问题,可能揭示了我对这里发生的任何事情的理解不足,但是,什么因素决定了“正确的组合”?我目前的思路是,Xamarin直接构建到在ART上运行的IL,所以我对应该针对哪个.NET Runtime有些困惑。 - fostandy
@fostandy 这是一个非常好的问题 - 你需要问我提供链接的作者。他叫 Stephen Cleary,曾经是微软的开发人员。我无法理解这些组合的原因,只是“它们就是这样”。 :-| - Marakai

1

首先:我下载了最新的SDK(10.0.16299.0)——还是不起作用... :(

其次:我编辑了项目文件并替换了下一个部分:

<TargetPlatformVersion>10.0.10586.0</TargetPlatformVersion>

使用“:”
<TargetPlatformVersion Condition=" '$(TargetPlatformVersion)' == '' ">10.0.16299.0</TargetPlatformVersion>
<TargetPlatformMinVersion>10.0.10586.0</TargetPlatformMinVersion>

第三步:我重新加载了项目。

在创建新项目后,我比较了生成的项目和“不工作”的项目,得到了这些信息。

问候Ruud


0

你尝试使用Xamarin.Forms(Portable)了吗?因为我遇到这个错误两次后,它就创建了一个Windows UWP应用程序。在我看来,这些错误可能是为其他Windows版本而设计的,因为我没有Win 8.0和8.1 SDK,因此前两个错误可能是由于这些SDK而引起的。


0

如果您要创建Windows Phone 8或Windows应用程序,则需要您的操作系统为Windows 8.1或更高版本。您满足此要求了吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接