.net 从框架4.6.1迁移至6(LTS)

eagi6jfj  于 2023-01-03  发布在  .NET
关注(0)|答案(1)|浏览(175)

我们开始了40个项目从framework 4.6.1到framework 6的迁移,一切看起来都很好,但是我有一个问题。
我们在一个简单的项目中使用了升级助手工具;它工作得很好,但是system.data引用被删除了,所以我们有很多与DataSet/DataTable/DataRows/...相关的内联"错误",但也有与SqlClient相关的一切。
我们希望将"旧的" System.Data.SqlClient更新为新的Microsoft.Data.SqlClient(这似乎是更好的长期选择)
两种解决方案:

  • re-add the system.data and that's it, everything runs well.
  • 添加nuget软件包Microsoft. Data. SqlClient(使用nupkg文件手动安装,因为它未出现在nuget数据包管理器中:|)

我认为最好的选择是第二个选项,因此我们添加ImportsMicrosoft.Data(或在项目中添加命名空间)作为我们使用"SqlClient.SqlConnection"、"SqlClient.SqlCommand"、"SqlClient.SqlDataAdapter"引用的对象
但是DataSet/DataTable/DataRows/上的错误仍然存在,所以我想总是有必要添加System.Data命名空间吗?
但是我们如何避免这样的错误呢(当然很容易,不用重命名)

Error   BC37229 'SqlCommand' is ambiguous between declarations in namespaces 'Microsoft.Data.SqlClient, System.Data.SqlClient

谢啦,谢啦

z9smfwbn

z9smfwbn1#

从.Net 4.6.1到.Net 6的过渡是一个重大的飞跃,正如您提到的,使用Nuget是您今后使用新库的方式,因为默认情况下,您的应用中不再有完整的.Net Framework库。
如果要在整个项目中使用Microsoft.data.sqlClient,则应通过Nuget添加该引用,并通过全局引用(如果需要)或在单个类文件上添加using引用。
https://www.nuget.org/packages/Microsoft.Data.SqlClient

我可以确保您使用的也是最新版本的Visual Studio。

相关问题