【发布时间】:2017-02-16 23:45:58
【问题描述】:
我目前正在 .NET Standard 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 Forms 应用程序,它使用完整的 .NET Framework 而不是 .NET Standard。此应用程序在 Xamarin Studio for Mac 上编译良好。这让我相信问题可能与 .NET Standard 相关。
在主 Mac 上,我使用 Mono 4.6.2、Xamarin.Android 7.0.2.42、Xamarin.iOS 10.3.1.8 运行 Xamarin Studio (6.1.5)。在 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 Standard 相关?
如果我需要切换到适用于 Mac 的 Visual Studio Preview,我会考虑,但我宁愿不依赖于生产项目的预发布工具。
【问题讨论】:
-
Xamarin 不支持 .net Core,你的意思是 .net Standard 吗?
-
道歉 - 我会更正帖子。是的,.NET 标准 (1.3)。
-
我认为这是问题所在:stackoverflow.com/questions/38857651/…
-
感谢@Gusman - 该帖子说 Xamarin Studio 6.0.2 及更高版本可以使用 .NET Standard 库,而我正在运行 Xamarin Studio 6.1.5。
-
消费,但不创建,如果您有任何项目针对解决方案上的 .net 标准,那么它将失败。第一个支持它的版本是 6.2,目前处于 beta 通道中。
标签: xamarin.ios xamarin.forms xamarin-studio .net-standard