Xamarin.ios 适用于Mac的Xamarin Studio未为.NET标准Xamarin Forms iOS应用程序生成*.xaml.g.cs

Xamarin.ios 适用于Mac的Xamarin Studio未为.NET标准Xamarin Forms iOS应用程序生成*.xaml.g.cs,xamarin.ios,xamarin.forms,xamarin-studio,.net-standard,Xamarin.ios,Xamarin.forms,Xamarin Studio,.net Standard,我目前正在.NET标准v1.3之上构建一个Xamarin Forms iOS应用程序。当我在Mac上使用Xamarin Studio时,我遇到了编译应用程序的问题,但它在Windows上的Visual Studio以及运行新的Visual Studio Preview for Mac的另一台机器上运行良好 在Xamarin Studio for Mac中,我在编译应用程序时遇到以下错误: App.xaml.cs(25,13): error CS0103: The name `Initialize

我目前正在.NET标准v1.3之上构建一个Xamarin Forms iOS应用程序。当我在Mac上使用Xamarin Studio时,我遇到了编译应用程序的问题,但它在Windows上的Visual Studio以及运行新的Visual Studio Preview for Mac的另一台机器上运行良好

在Xamarin Studio for Mac中,我在编译应用程序时遇到以下错误:

App.xaml.cs(25,13): error CS0103: The name `InitializeComponent' does not exist in the current context
Base/BaseView.xaml.cs(11,13): error CS0103: The name `InitializeComponent' does not exist in the current context
View/LoginView.xaml.cs(9,13): error CS0103: The name `InitializeComponent' does not exist in the current context
解决方案中的每个XAML文件都会发生这种情况。我明白原因了-没有生成*.xaml.g.cs文件。在Visual Studio for Windows和Visual Studio Preview for Mac上,它们被放入项目的obj/Release文件夹中,但在Xamarin Studio for Mac上,它们根本不会生成

我有另一个Xamarin表单应用程序,它使用完整的.NET框架而不是.NET标准。此应用程序在Xamarin Studio for Mac上编译良好。这让我相信这个问题可能与.NET标准有关

在主Mac上,我运行的是Xamarin Studio 6.1.5和Mono 4.6.2、Xamarin.Android 7.0.2.42、Xamarin.iOS 10.3.1.8。在Windows上,我使用Xamarin 4.2.2.11、Xamarin.Android 7.0.2.42和Xamarin.iOS 10.3.1.8运行Visual Studio 2015 Update 3 14.0.25341。在第二台Mac上,我正在运行Visual Studio for Mac Preview 3 7.0 build 1077和Xamarin iOS 10.4.0.88

我不知道这是否有帮助,但在Visual Studio for Windows中,我在每个XAML文件中都会遇到此错误,但该项目仍然编译良好:

Build action 'EmbeddedResource' is not supported by one or more of the project's targets.
在Xamarin Studio for Mac上,*.xaml.g.cs文件不会生成,可能与使用.NET标准有关,有什么原因吗


如果我需要切换到Mac的VisualStudio预览,我会考虑它,但我宁愿不依赖于一个预发布工具用于生产项目。

< P>如果您的解决方案中包含任何.NET标准项目,您必须使用XAMARIN Studio版本6.2或更高版本,否则它将失败,以前的版本只允许使用.NET标准库,不编译这种类型的项目。

Xamarin不支持.net核心,你的意思可能是.net标准?抱歉-我会更正此帖子。是的,.NET Standard 1.3。我想这就是问题所在:谢谢@Gusman-那篇帖子说Xamarin Studio 6.0.2以后的版本可以使用.NET标准库,我现在运行的是Xamarin Studio 6.1.5.consume,但不是create,如果你有任何针对.NET标准的项目,那么它将失败。第一个支持它的版本是6.2,并且在beta频道。谢谢。除了使用XS6.2之外,我还发现我正在编译的解决方案文件不需要UWP项目。在包含UWP项目的情况下,在尝试执行NuGet包还原时,我得到的对象引用未设置为对象错误的实例。这反过来意味着没有正确安装Xamarin表单目标,这意味着没有生成*.xaml.g.cs文件。从解决方案中完全删除UWP项目解决了这一问题。解决方法还包括执行两次NuGet恢复,因为第一次失败,但第二次成功。