'System.Runtime.InteropServices.SafeHandle'类型存在于'System.Runtime.InteropServices.dll'和'System.Ru



我当前正在将Windows 8.1应用程序移植到Windows 10 UAP应用程序,该应用程序使用Interop在C 和C#之间进行通信,并且我正在弹出以下错误:

$(projectName).interop.g.cs:错误CS0433:类型 'system.runtime.interopservices.safehandle'都存在于两个c: program中 文件(x86)参考 汇编 microsoft framework.netcore v4.5.1 system.runtime.interopservices.dll' 和'c: program文件 (x86) msbuild microsoft.netnative x86 ilc lib mcgdependencies system.runtime.handles.dll'

从我设法了解的内容来看,System.Runtime.HandlerSystem.Runtime.InteropServices的一小部分(或至少包含其中的一小部分)。

编译器总是引用这两个DLL,因此无法完成它们。

我在解决方案中检查了SafeHandle类型,除了生成的文件$(ProjectName).introp.g.cs以外,它没有在任何地方使用。我检查了解决方案中所有项目的参考,没有一个引用错误中提到的两个DLL中的任何一个。

当我单独构建它们时,每个项目都可以构建良好...只有此错误就会失败。

任何帮助将不胜感激!

非常感谢!

我终于找到了解决问题的解决方案。找到并不容易,但我做到了!由于我的解决方案非常特定于我的项目,因此我将发布用于解决该项目的步骤。我希望它可以帮助某人!

  1. 我卸载了我的启动项目并创建了一个新的空项目。
  2. 一一添加了一个空项目所需的参考(从一个依赖性较少的一个开始),直到我获得错误为止,这给了我有问题的项目。
  3. 我尝试删除该项目的一些参考,一次直到解决方案进行编译!

我发现Windows 8的Flurrysdk在Windows 10中引起了问题,因此我将其禁用,直到他们发布Windows 10版本!

希望这对某人有帮助!

相关内容

最新更新