我正在将我的 C# Windows 窗体应用程序迁移到 .Net8 。由于业务需要 应用程序应同时面向 .NetFramework 4.7.2 和 .Net 8.0。我遇到以下错误
错误CS0433:类型“ReportViewer”存在于“Microsoft.ReportViewer.WinForms,版本= 15.1.19.0,文化=中性,PublicKeyToken = null”和“Microsoft.ReportViewer.WinForms,版本= 12.0.0.0,文化=中性”中, PublicKeyToken=89845dcd8080cc91'
我该如何解决这个问题。
这是一篇很棒的[文章][1],可能会对您有帮助
您可以像这样更新您的 .csproj 文件
<TargetFrameworks>net8.0;net472</TargetFrameworks>
然后,如果您对参考文献有一些问题,您可以使用以下条件添加它们:
<ItemGroup Condition=" '$(TargetFramework)' == 'net472' ">
<Reference Include="Microsoft.ReportViewer.WinForms.12.0.0.0" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
<Reference Include="Microsoft.ReportViewer.WinForms.15.1.19.0" />
</ItemGroup>
这应该有帮助 [1]:https://www.tutorialsteacher.com/core/target-multiple-frameworks-in-aspnet-core2