Dav*_*ing 1 macos xamarin.forms visual-studio-mac
我正在使用Visual Studio for Mac 7.6.6创建针对macOS的Xamarin.Forms应用程序(与Windows上运行的内容共享)。我创建一个新项目并选择
我该如何进行?我假设没有办法使用“新建项目”向导。
我遇到了一个老帖子,内容涉及从Xamarin Cocoa应用程序开始并使用NuGet放置Xamarin Forms功能,但不了解代码
LoadApplication(new App()); // <-- don't know what App is
Run Code Online (Sandbox Code Playgroud)
我怀疑VS Mac和Xamarin.Forms处于不同步状态。有没有人得到这个工作?
我建议遵循SushiHangover的建议,因为这很简单,这就是您已经做的事情:
AppDelegate.cs:
[Register("AppDelegate")]
public class AppDelegate : Xamarin.Forms.Platform.MacOS.FormsApplicationDelegate
{
NSWindow window;
public AppDelegate()
{
var style = NSWindowStyle.Closable | NSWindowStyle.Resizable | NSWindowStyle.Titled;
var rect = new CoreGraphics.CGRect(200, 1000, 1024, 768);
window = new NSWindow(rect, style, NSBackingStore.Buffered, false);
window.Title = "Xamarin.Forms on Mac!";
window.TitleVisibility = NSWindowTitleVisibility.Hidden;
}
public override NSWindow MainWindow
{
get { return window; }
}
public override void DidFinishLaunching(NSNotification notification)
{
Xamarin.Forms.Forms.Init();
LoadApplication(new App());
base.DidFinishLaunching(notification);
}
public override void WillTerminate(NSNotification notification)
{
// Insert code here to tear down your application
}
}
Run Code Online (Sandbox Code Playgroud)
但是,Visual Studio for Mac确实包括带有Xamarin.Forms项目模板的Mac项目。但是,它当前不在“新项目”对话框中公开。您可以从此模板创建Mac Forms项目,但它比SushiHangover建议并使用的工作量还多。
将Xamarin.Forms项目模板安装到.NET Core项目模板中
dotnet new --install "/Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/AddIns/Xamarin.Forms.Addin/Templates/Xamarin.Templates.Multiplatform.0.0.1.nupkg"
创建一个包括Mac项目的新Forms项目(您可能需要查看并设置其他模板参数-以下内容将使用Android,iOS,Mac,UWP和一个Shared项目创建一个空白Forms应用程序)。
dotnet new forms-app --CreateMacProject -k blank
在刚创建的项目的父目录中创建一个新的空白解决方案(其他-其他-空白解决方案)。
然后,您可以构建并运行包含Xamarin.Forms的Mac项目。
请注意,您可能需要从.NET Core项目模板中删除Xamarin.Forms项目模板,可以通过运行以下命令来完成:
dotnet new --debug:reinit
Run Code Online (Sandbox Code Playgroud)