我正在将基于C#net461的库转换为netstandard2。该库的某些依赖项最多支持net461。 Visual Studio针对这些依赖项显示以下警告:
警告NU1701软件包'IKVM v8.1.5717'是使用'.NETFramework,Version = v4.6.1'而不是项目目标框架'.NETStandard,Version = v2.0'恢复的。该软件包可能与您的项目不完全兼容。
反正有没有合并这些依赖项并成功移植到netstandard2的地方?
我环顾四周,尝试了Microsoft.Windows.Compatibility nuget。将其添加为新的netstandard2库项目的进一步依赖项之后,警告仍然存在,并且“ bin / debug / netstadard2”处的生成输出不包含nuget依赖项的dll。正如尝试从另一个项目中使用该库时所期望的那样,由于缺少netstandard2库的net461依赖项的DLL,我得到了运行时异常。
答案 0 :(得分:0)
经过大量实验和搜索,我发现问题是双重的:
就我而言,问题#1通过包含Windows兼容性包得以解决,其中包括我的net461依赖项所使用的额外API。但是由于问题2,我仍然遇到运行时异常。
问题2通过确保所有导入都使用PackageReference
样式来解决,该样式将提取传递依赖项。