间接依赖 - .NET2.0 - WMP.dll

时间:2017-02-01 10:15:22

标签: c# .net-2.0 visual-studio-2017

安装Visual Studio 2017 RC后,我有一些无法构建的代码。我已将其缩小到WMP和.NET Framework 2(它在框架4下工作)

最基本的测试设置是2个项目:

项目1:

  • Windows窗体应用
  • .NET Framework 2.0
  • 命名空间WMPClient
  • 引用添加到wmp.dll(已尝试过system32和syswow64)
  • 将Windows Media Player添加到Form1.cs

项目2:

  • 类库(.NET Framework)
  • .NET Framework 2.0
  • 命名空间WMPLib
  • 参考添加到WMPClient

两个项目都在构建。

using WMPClient;添加到Class1.cs(项目2)时,构建失败:

13个错误行,例如System.Windows.Forms, mscorlib, System

warning MSB3258: The primary reference "C:\WMPClient\bin\Debug\WMPClient.exe" could not be resolved because it has an indirect dependency on the .NET Framework assembly "System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which has a higher version "4.0.0.0" than the version "2.0.0.0" in the current target framework.

这样的1个错误行:

error CS0246: The type or namespace name 'WMPClient' could not be found (are you missing a using directive or an assembly reference?)

相同的代码在VS2013下也不起作用,但在安装VS2017之前做了

1 个答案:

答案 0 :(得分:0)

它说你的" WMPClient.exe"拥有.net框架的更高版本4.0。 原则上,不能在较低的.NET版本项目中添加更高版本的库或命名空间。所以,要么构建" WMPClient.exe"使用2.0,或将Forms Project升级到4.0