C# 间接依赖项-.NET2.0-WMP.dll
安装Visual Studio 2017 RC后,我有一些无法生成的代码。我已经把它缩小到WMP和.NETFramework 2(它在Framework 4下工作) 最基本的测试设置是2个项目: 项目1:C# 间接依赖项-.NET2.0-WMP.dll,c#,.net-2.0,visual-studio-2017,C#,.net 2.0,Visual Studio 2017,安装Visual Studio 2017 RC后,我有一些无法生成的代码。我已经把它缩小到WMP和.NETFramework 2(它在Framework 4下工作) 最基本的测试设置是2个项目: 项目1: Windows窗体应用程序 .NET Framework 2.0 命名空间WMPClient 添加到wmp.dll的引用(已尝试system32和syswow64) 已将Windows Media Player添加到Form1.cs 项目2: 类库(.NET Framework) .NE
- Windows窗体应用程序
- .NET Framework 2.0
- 命名空间WMPClient
- 添加到wmp.dll的引用(已尝试system32和syswow64)
- 已将Windows Media Player添加到Form1.cs
- 类库(.NET Framework)
- .NET Framework 2.0
- 名称空间WMPLib
- 添加到WMPClient的引用
时代码>到Class1.cs
(项目2)生成失败:
13条错误行,如System.Windows.Forms、mscorlib、System
警告MSB3258:无法解析主引用“C:\WMPClient\bin\Debug\WMPClient.exe”,因为它间接依赖于.NET Framework程序集“System.Windows.Forms,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”,该程序集的版本“4.0.0.0”高于版本“2.0.0.0”在当前目标框架中。
1错误行如下所示:
错误CS0246:找不到类型或命名空间名称“WMPClient”(是否缺少using指令或程序集引用?
同样的代码在VS2013下也不再有效,但在安装VS2017之前确实有效。它表示您的“WMPClient.exe”具有更高版本的.net framework 4.0。
原则上,不能在较低版本的.NET项目中添加较高版本的库或名称空间。因此,要么使用2.0构建“WMPClient.exe”,要么将Forms项目升级到4.0在Properties/Application csproj:v2.0中,这两个项目都设置为Framework 2.0。幸运吗?从VS2017到VS2019(在一台新机器上),我面临着同样类型的问题。在.NET framework v3.5上,它不起作用。我在project preferences中将我的应用程序升级到.NET framework v4.0,这对我来说很有效。是否有办法为System.Windows.Form版本2.0.0.0设置特定目标?每个系统引用的属性都显示“Runtime Version=v2.0.50727”-这适用于这两个项目