问题描述
我正在开发WPF应用程序,我想添加XAML Islands
以便能够在我的应用程序中使用Windows 10控件。
在完成this教程之后,我通过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
文件-确切的行在下面发布),并且我还默认在{{ 1}}按照以下方式归档:
MyProject.csproj
因此,我离开了XamlHost当前安装的依赖项,并删除了我上面发布的默认依赖项。然后,当我编译它时,抛出一个错误弹出窗口:<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>
我还试图删除另一个导入,该导入是在安装XamlHost项目时添加的:
因此,从This application has failed to start because the application configuration is incorrect.
中删除了以下几行:
app.config
并且来自<dependentAssembly>
<assemblyIdentity name="System.Runtime.WindowsRuntime" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.6.0.0" newVersion="4.6.0.0" />
</dependentAssembly>
:
packages.config
但是它抛出了相同的弹出窗口,表明项目配置不正确。
还更新到最新的Visual Studio(我正在使用vs2019社区),更新到最新的Windows SDK和最新的.NET Framework。
那么,有几个问题:
-
<package id="System.Runtime.WindowsRuntime" version="4.6.0" targetFramework="net471" />
文件中的每个引用都是从MyProject.csproj
文件夹添加的,除了此packages
来自程序文件(上面的路径),为什么没有从{{ 1}}文件夹? (也尝试将其版本更改为4.6.0,什么也没有。尝试替换导入路径并将其设置到packages文件夹,什么也没有。如果删除它,甚至不会编译项目。) - 在
WindowRuntime
中到packages
的路径中,WindowsRuntime.dll
是什么,但是最新的.NetCore是3.1?并且其中包含Program Files
版本4.0.0,为什么?
我在做什么错了?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)