我正在使用VisualStudioforMac7.6.6创建一个针对Xamarin.Forms的macOS应用程序(与运行在Windows上的东西共享)。我创建一个新项目并选择
我该怎么做?我假设没有办法使用向导来实现这一点。
我遇到了一个旧员额,它从Xamarin Cocoa应用程序开始,并使用NuGet将Xamarin窗体功能放入其中,但不理解代码。
LoadApplication(new App()); // <-- don't know what App is我怀疑VS和Xamarin.Forms是不同步的,处于流血边缘。有人成功了吗?
发布于 2018-09-20 11:03:45
我建议遵循SushiHangover的建议,因为这更简单,这就是您已经做过的:
Main.cs:
static class MainClass
{
static void Main(string[] args)
{
NSApplication.Init();
NSApplication.SharedApplication.Delegate = new AppDelegate();
NSApplication.Main(args);
}
}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
}
}但是,Visual确实包含带有Xamarin.Forms项目模板的Mac项目。但是,它目前并没有在not对话框中公开这一点。您可以从这个模板创建一个Mac项目,但是它比SushiHangover建议的和您已经使用的要多一些。
dotnet new --install "/Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/AddIns/Xamarin.Forms.Addin/Templates/Xamarin.Templates.Multiplatform.0.0.1.nupkg"dotnet new forms-app --CreateMacProject -k blank然后,您可以构建并运行包含Xamarin.Forms的Mac项目。
注意,您可能希望从Xamarin.Forms核心项目模板中删除.NET项目模板,您可以通过运行以下操作来实现这一点:
dotnet new --debug:reinit发布于 2019-08-02 17:03:26
除了批准的答案,这是不完整的,最近的更新,现在你必须再做一步。链接Mac项目主类中的delagate
main.cs:
static class MainClass
{
static void Main(string[] args)
{
NSApplication.Init();
NSApplication.SharedApplication.Delegate = new AppDelegate();
NSApplication.Main(args);
}
}诺塔。我的编辑被拒绝了,我不允许添加评论。所以我增加了一个补充的答案来帮助那些现在寻求帮助的人。
https://stackoverflow.com/questions/52415863
复制相似问题