使用:-Visual Studio 2019 16.4.4 版本 4.8.03752。- 带有 WPF 的 .Net Core 3.1 项目
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
<Platforms>AnyCPU;x64</Platforms>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Toolkit.Wpf.UI.Controls" Version="6.0.0" />
<PackageReference Include="Microsoft.Toolkit.Wpf.UI.XamlHost" Version="6.0.0" />
<PackageReference Include="Microsoft.VCRTForwarders.140" Version="1.0.5" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\PtdcFieldView\PtdcFieldView.csproj" />
</ItemGroup>
</Project>
我收到来自 XAML 设计器的错误:
灾难性故障。
面向 Windows 版本 10.0.18226.0 及更高版本的应用支持 WindowsXamlManager 和 DesktopWindowXamlSource。请检查应用程序清单或包清单并确保 MaxTestedVersion 属性已更新。
请注意,Microsoft 消息非常尴尬,因为“MaxTestedVersion”在项目清单中是“maxversiontested”,据我所知,它是所需的最低版本。
使用此代码:
<Window x:Class="PtdcGui.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:PtdcGui"
xmlns:ptdcfieldview="clr-namespace:PtdcFieldView;assembly=PtdcFieldView"
xmlns:maps="clr-namespace:Windows.UI.Xaml.Controls.Maps;assembly=Windows.Foundation.UniversalApiContract"
xmlns:controls="clr-namespace:Microsoft.Toolkit.Wpf.UI.Controls;assembly=Microsoft.Toolkit.Wpf.UI.Controls"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Grid Grid.Row="0"> <!--<maps:MapControl/>--> </Grid>
<Grid Grid.Row ="1"> <controls:MapControl x:Name="MyMapControl" /> </Grid>
</Grid>
</Window>
问题:
- 为什么我从 XAML 设计器中收到错误,尽管代码可以正常编译和运行?
- 为什么我无法通过代码后面的名称访问我的控件?(如果解决了这个问题,我不得不重新启动 Visual Studio)