.NET Core库旁边的Windows Forms GUI是否可行?

3

我有一些用.NET Core编写的库

我能在Windows窗体应用程序中使用这些库吗?

我能将它们引用到我的Win Forms或WPF中吗?

通常情况下,我可以在.NET Core旁边使用.NET Framework吗?

因为我想迁移到.NET Core,但我也需要GUI来完成我的项目,而目前.NET Core不支持GUI。

@JonSkeet 问我是否测试过?是的,我用一个非常简单的dotNETCore测试了我的WinForm GUI。

在dotNET Core中

public class Person
{
    [EmailAddress]
    public string Name { get; set; }
}

public static class TestCore
{
    public static string Get()
    {
        var type = typeof(Person).GetProperty("Name");
        var attr = type.Attributes;
        return attr.ToString();
    }
}

我使用反射是因为Reflection命名空间在其中发生了变化。
因此,我通过按钮点击在我的GUI中调用Get()方法。但是出现了错误。
Additional information: Could not load file or assembly 'System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

我将那个库添加到我的Winform项目中,结果糟糕!现在我的Winform项目无法运行!

enter image description here

Warning RCS1060 Consider declaring each type in separate file.  dotNETCore..NETStandard,Version=v1.5    \visual studio 2015\Projects\dotNETCore\src\dotNETCore\Person.cs

Error   CS0433  The type 'EditorBrowsableAttribute' exists in both 'System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' and 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'  WindowsFormsApplication1    \visual studio 2015\Projects\dotNETCore\WindowsFormsApplication1\Properties\Resources.Designer.cs

似乎有些问题,但我希望能同时使用.NET Framework和dotNET Core,因为我们目前还没有任何GUI解决方案!

我希望微软能够开发出.NET Core版本的WPF。


1
是的,我认为这应该没问题 - 你试过了吗?一般来说,完整的.NET应用程序可以使用.NET Core库,但反之则不行。 - Jon Skeet
2
现在我的Winform项目无法运行并不能给我们提供太多信息...我们也不知道你是如何构建任何东西的。是否 所有 的代码都使用dotnet CLI / dnx?(例如,您可以以这种方式构建完整的.NET项目。) - Jon Skeet
@JonSkeet,你说得对,请再看一下我的帖子。 - HamedFathi
1
所以你遇到了编译错误 - 这些应该在问题中显示为文本。没有必要使用所有这些截图,它们比纯文本难以阅读得多。 - Jon Skeet
3
.NET Core 项目的目标是完全不同版本的 CLR。您不能在一个项目中混合使用 CLR 版本,只能有一个。 - Hans Passant
显示剩余5条评论
1个回答

1

微软已开始为Net Core生产Winforms插件https://github.com/dotnet/winforms ..

值得注意的问题是,Net Core Winforms目前还没有设计支持,所以你可能需要暂时不要完全转向Net Core!


你能指出一些参考资料来证明它不被支持吗?或者为了支持你的说法,可以提供一些证据表明这是“一种通向彻底失败的好方法”吗? - Robert Perry
1
汉斯只有788,541的声望?他会知道什么! :-D - 说得对。我会把我的回答中那部分删除。 - Robert Perry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接