首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复此异常:无法在未指定颜色空间的情况下转换NSColorType.Catalog颜色,请使用重载指定NSColorSpace

如何修复此异常:无法在未指定颜色空间的情况下转换NSColorType.Catalog颜色,请使用重载指定NSColorSpace
EN

Stack Overflow用户
提问于 2021-02-09 22:48:24
回答 1查看 89关注 0票数 0

我正在尝试构建一个Xamarin.Forms 5 MacOS项目-- XAML是由默认的锅炉板代码提供的基本代码。

当我编译这个项目时,我会得到一个异常:

例外情况:

无法在不指定颜色空间的情况下转换NSColorType.Catalog颜色,请使用重载指定NSColorSpace

正如我所说的,我还没有添加任何自定义代码。我该怎么解决这个问题?

更新

如果我将其降级为Xamarin格式4.8,则它将毫无例外地构建和运行:

那么为什么5.x会失败呢?

XAML

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="VisitsRota.MainPage">

    <StackLayout>
        <Frame BackgroundColor="#2196F3" Padding="24" CornerRadius="0">
            <Label Text="Welcome to Xamarin.Forms!" HorizontalTextAlignment="Center" TextColor="White" FontSize="36"/>
        </Frame>
        <Label Text="Start developing now" FontSize="Title" Padding="30,10,30,10"/>
        <Label Text="Make changes to your XAML file and save to see your UI update in the running app with XAML Hot Reload. Give it a try!" FontSize="16" Padding="30,0,30,0"/>
        <Label FontSize="16" Padding="30,24,30,0">
            <Label.FormattedText>
                <FormattedString>
                    <FormattedString.Spans>
                        <Span Text="Learn more at "/>
                        <Span Text="https://aka.ms/xamarin-quickstart" FontAttributes="Bold"/>
                    </FormattedString.Spans>
                </FormattedString>
            </Label.FormattedText>
        </Label>
    </StackLayout>

</ContentPage>

AppDelegate

代码语言:javascript
复制
using AppKit;
using Foundation;
using VisitsRota;
using Xamarin.Forms;
using Xamarin.Forms.Platform.MacOS;

namespace VisitsRota.MacOS
{
    [Register("AppDelegate")]
    public class AppDelegate : 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 = "Visits Rota for Mac";
            window.TitleVisibility = NSWindowTitleVisibility.Hidden;
        }

        public override NSWindow MainWindow
        {
            get { return window; }
        }

        public override void DidFinishLaunching(NSNotification notification)
        {
            Forms.Init();
            LoadApplication(new App());
            base.DidFinishLaunching(notification);
        }
    }
}

例外是在base.DidFinishLaunching(notification);上,我想。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-15 15:24:07

更新到最新的Xamarin.Forms解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66128370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档