Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在WPF中为XAML孤岛使用正确的WindowsRuntime.dll?_C#_.net_Wpf_Xaml Islands - Fatal编程技术网

C# 如何在WPF中为XAML孤岛使用正确的WindowsRuntime.dll?

C# 如何在WPF中为XAML孤岛使用正确的WindowsRuntime.dll?,c#,.net,wpf,xaml-islands,C#,.net,Wpf,Xaml Islands,我正在开发一个WPF应用程序,我想添加XAML Islands,以便能够在我的应用程序中使用windows 10控件。 在教程之后,我通过Nuget Package Manager添加了Microsoft.Toolkit.Wpf.UI.XamlHost项目。它还安装了它的依赖项,如Microsoft.Windows.SDK.Contracts(10.0.18362.2005),它依赖于System.Runtime.WindowsRuntime>=4.6.0。运行项目时,出现以下编译错误: Mul

我正在开发一个WPF应用程序,我想添加
XAML Islands
,以便能够在我的应用程序中使用windows 10控件。 在教程之后,我通过Nuget Package Manager添加了
Microsoft.Toolkit.Wpf.UI.XamlHost
项目。它还安装了它的依赖项,如
Microsoft.Windows.SDK.Contracts(10.0.18362.2005)
,它依赖于
System.Runtime.WindowsRuntime>=4.6.0
。运行项目时,出现以下编译错误:

Multiple assemblies with equivalent identity have been imported: 
'C:\Users\*[path to my project]*\packages\System.Runtime.WindowsRuntime.4.6.0\ref\netstandard2.0\System.Runtime.WindowsRuntime.dll'
and 
'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System.Runtime.WindowsRuntime.dll'.
Remove one of the duplicate references.
清除错误消息,XamlHost安装了它的依赖项(它修改了
app.config
packages.config
文件-下面公布了确切的行),我还通过以下方式在
MyProject.csproj
文件中默认添加了WindowsRuntime.dll:

<Reference Include="System.Runtime.WindowsRuntime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
    <SpecificVersion>False</SpecificVersion>
    <HintPath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System.Runtime.WindowsRuntime.dll</HintPath>
</Reference>
packages.config

<package id="System.Runtime.WindowsRuntime" version="4.6.0" targetFramework="net471" />

但它抛出了相同的弹出窗口,即项目配置不正确

还更新了最新的Visual studio(我使用的是vs2019社区)、最新的windows SDK和最新的.NET Framework

所以,有几个问题:

  • MyProject.csproj
    文件中的每个引用都是从
    packages
    文件夹中添加的,除了这个
    WindowRuntime
    ,它来自程序文件(上面的路径),为什么不从
    packages
    文件夹中引用?(还尝试将其版本更改为4.6.0,无。尝试替换导入路径并将其设置为packages文件夹,无。如果删除它,甚至不会编译项目)
  • 程序文件
    中的
    WindowsRuntime.dll
    路径中,
    .NetCore\v4.5\
    是什么,但是最新的.NetCore是3.1?它包含一个
    WindowsRuntime.dll
    4.0.0版,为什么
  • 我做错了什么?

    来自:

    只有针对.NET Core 3.x的WPF和Windows窗体应用程序才支持使用XAML孤岛托管WinRT XAML控件。针对.NET Framework的应用程序不支持XAML孤岛

    从项目文件的格式以及您仍在使用
    packages.config
    文件这一事实来看,您的目标似乎是.NET Framework。这是不支持的。

    您可以与您的
    csproj
    文件共享吗?
    <package id="System.Runtime.WindowsRuntime" version="4.6.0" targetFramework="net471" />