多个WindowsBase程序集冲突

时间:2019-02-24 16:23:01

标签: c# visual-studio

我每天都在玩.NET,所以这可能是菜鸟等级1。

我遇到了错误

System.TypeLoadException: 'Could not load type 'System.Windows.Threading.DispatcherObject' from assembly 'WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.'

从所有previous(和others)的问题和答案来看,我应该从

包括WindowsBase.dll的引用。
C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0

一切都很好,并且构建成功。但是,当我运行程序时,它失败并出现上述错误,并且输出显示WindowsBase正在从

加载
'dotnet.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.6\WindowsBase.dll'.

更令人困惑的是,当我检查添加的引用的属性(来自Framework \ v3.0)时,该程序集的源目录显示为

C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\WindowsBase.dll

这是怎么回事?

1 个答案:

答案 0 :(得分:0)

所以,作为新手(我将使用这个借口而不是愚蠢的东西),我没有意识到

设置该项目时,我使用了.NET Core,而我应该使用的是.NET框架(在>入门>控制台应用程序下)。

Project setup

任何有兴趣的人-https://medium.com/@mindfiresolutions.usa/difference-between-net-core-and-net-framework-c0588e734b99