質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
.NET Core

.NET Coreは、マネージソフトウェアフレームワークでオープンソースで実装されています。クロスプラットフォームを前提に考えられており、Windows/Mac/Linuxで動くアプリケーションを作成することが可能です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

5444閲覧

CS0433 型が複数のアセンブリに存在して競合する際の対処法

taopaipai

総合スコア17

.NET Core

.NET Coreは、マネージソフトウェアフレームワークでオープンソースで実装されています。クロスプラットフォームを前提に考えられており、Windows/Mac/Linuxで動くアプリケーションを作成することが可能です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2021/09/03 09:05

環境 C# .NET 5.0 .Net Core DB:SQL Server

前提
・ Visual Stadio 2019 の環境で現在.NetFrameworkで動作しているソリューションを.Net Core(.NET 5.0)に移行
・ .NET 環境で使えるシンプルなオブジェクトマッパーのDapperを使用
・ .Net Core化にあたりMicrosoft.Data.SqlClientを使用

不具合現象
SQL変数(SQL ServerはSQLParameter、Oracleはバインド変数) に値をバインドするため「SqlDbType」で変数の型を指定しているが 競合が以下のとおり競合が発生する

CS0433 型 'SqlDbType' が 'System.Data.Common, Version=(省略) と 'System.Data.SqlClient, Version=(省略)の両方に存在します

原因
System.Data.SqlClientは参照設定上使っていないが、Dapperのパッケージに組み込まれているため
Dapperを参照設定(NuGetで依存関係 パッケージで組み込み)すると'System.Data.SqlClient’なども
参照した状態になる模様

対処方法を教えてください

コンパイラ オプションの別名機能を使用するか、SqlClientの型をもつ競合しているアセンブリのいずれかを参照しないようするしかないでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは。

質問への直接の回答ではないですが、
Dapper にはもはや System.Data.SqlClient への依存は含まれません。
この変更については Dapper 2.0.4 の Release Notes に記載されています。
https://dapperlib.github.io/Dapper/

remove the System.Data.SqlClient dependency, allowing consumers to use System.Data.SqlClient or Microsoft.Data.SqlClient (or neither, or both) as they choose

.NET 5.0 であれば、現時点の最新バージョン Dapper 2.0.90 と Microsoft.Data.SqlClient 3.0.0 の組み合わせで動作することを確認しているので、パッケージのバージョンを上げることで問題を回避できると思われます。

投稿2021/09/03 10:02

tamoto

総合スコア4103

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taopaipai

2021/09/03 11:53

ありがとうございます。  欲しかった情報です。 Dapper 2.0.90 にバージョンアップいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問