我最近听说.NET Core(.NET Core 3.0)的Alpha版本支持Windows窗体和WPF。但是,Visual Studio Designer(和Visual Studio)不支持Windows窗体和WPF的.NET Core。是否可以使Visual Studio Designer(和Visual Studio)与.NET Core 3.0一起使用,或者可以与.NET Core 3一起使用的任何其他设计器或IDE?
我问这个问题的主要原因是因为(对我和其他人)使用代码编辑器(如VS Code和Atom)是如此困难。
我希望这是一个好问题。
答案 0 :(得分:8)
Visual Form Designer尚不适用于Windows Forms和WPF .NET CORE项目。但是关于其路线图,设计师将作为Visual Studio 2019更新的一部分提供。
有关更多信息,请参见WinForms和WPF .NET CORE存储库。
解决方法-将Windows Forms Designer用于.NET CORE WinForms项目
目前,有workaround用于将Classic .NET Windows Forms Designer用于.NET CORE Windows Forms项目。
解决方法取决于在相同的解决方案中具有相同的根名称空间的Classic WinForms应用程序和CORE WinForms应用程序。
要添加新的可设计项目,每次要添加新项目时,都需要将其添加到经典项目中,然后将3个生成的文件(.cs,.designer.cs,.resx)移至CORE应用,然后将它们添加为经典应用程序的链接。
要进行编辑,由于它们可以作为经典应用程序中的链接使用,因此请在经典应用程序的设计器中对其进行编辑。所有更改都对CORE应用可见。
准备解决方案以将Windows Forms Designer用于.NET Core Winforms应用
添加表单或用户控件
每次要添加新表单或用户控件时,都需要执行以下步骤:
现在,每当需要在Core Form或UserControl文件之一上使用Designer时,只需使用Classic Windows Forms Designer在Classic Framework项目中打开链接的文件即可。
答案 1 :(得分:2)
如果要使用Visual Studio 2019查看WPF XAML的预览,只需尝试使用此扩展名https://marketplace.visualstudio.com/items?itemName=GiessweinApps.FAMLDesigner。
答案 2 :(得分:1)
尽管官方 WPF GitHub Repository 指出:
注意:WPF视觉设计器尚不可用,它将成为Visual Studio 2019更新的一部分。
在其中使用视觉设计器的example video。
希望有帮助!
答案 3 :(得分:1)
WinForms
项目,您可以参考此视频How to fix WinForms Designer not support .net core 3.0 visual studio 2019
由于该视频提供了我们所需的更多详细信息,因此我们可以逐步进行。它也基于Microsoft官方github项目dotnet/winforms
dotnet/winforms - Using the Classic WinForms Designer in WinForms Core
我制作的相关代码(VS项目)已经推送到github:
WPF
项目,您可以使用XAML设计器,如下所示:参考:
dotnet/samples - WPF Hello World sample with linked files
首先,您需要安装vs 2019 Professional / Enterprise版本。然后需要安装.net core 3.0 SDK。现在,您可以尝试创建.net核心WPF应用程序,
设置相关项目名称和存储路径后,将弹出:
设置完成后,重新启动vs即可生效。
现在该解决方案的文件结构如下:
右键单击项目CoreHiWPF
,选择Properties
,然后将其Assembly Name
更改为HiWPF
。
然后右键单击该项目,单击“编辑CoreHiWPF.csproj”。
添加如下代码:
<ItemGroup>
<ApplicationDefinition Include="..\HiWPF\App.xaml" Link="App.xaml">
<Generator>MSBuild:Compile</Generator>
</ApplicationDefinition>
<Compile Include="..\HiWPF\App.xaml.cs" Link="App.xaml.cs" />
</ItemGroup>
<ItemGroup>
<Page Include="..\HiWPF\MainWindow.xaml" Link="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
</Page>
<Compile Include="..\HiWPF\MainWindow.xaml.cs" Link="MainWindow.xaml.cs" />
</ItemGroup>
如果.net核心WPF项目CoreHiWPF
已经突出显示,则可以忽略。或者,您需要选择项目CoreHiWPF
,然后右键单击Set As Start up project
。
现在关闭所有打开的文件。单击项目MainWindow.xaml
的文件HiWPF
。然后,您现在可以在XAML设计器中看到空白的WPF窗口。
然后,我在文件Grid
的{{1}}中添加两行:
-一行是MainWindow.xaml
,支持换行
-另一行是一个Label
按钮。
然后我将Exit
事件添加到Click
按钮,将Exit
事件添加到Loaded
。
代码更新完毕后,按Window
运行,最终用户界面如下:
代码也已经推送到github:
您可以直接克隆它来看看。
答案 4 :(得分:0)
Microsoft Visual Studio专业版2019 版本16.7.2 开箱即用。
答案 5 :(得分:0)
仅发现使用WinForms设计器打开文件的说明存在于 文件.csproj.user。
<ItemGroup>
<Compile Update="Form1.cs">
<SubType>Form</SubType>
</Compile>
</ItemGroup>
因此,如果像我一样,您已.gitignore了此文件并进行了git clean,您将无法再使用Designer打开该文件。
答案 6 :(得分:0)
我删除了项目文件,并重新创建了项目以使其对我有用。新建->现有代码中的项目...
答案 7 :(得分:0)
如果缺少窗体设计器。尝试将另一个Windows窗体添加到您的项目。完成此操作后,其他Windows窗体的设计器就会出现。
如果您使用的是Visual Studio 2019,请确保获取包括Windows窗体设计器在内的最新更新。某些早期版本不包含它。