3

Visual Studio2012の.NET4.0でC#アプリを作成していて、MySQL.Data DLLをデプロイ可能なものと一緒にパッケージ化しようとしています(これが正しいパスだと思います)。

これが私の状況です:

  • 他のプロジェクトの1つが生成するDLLを参照するClickOnceアプリケーションがあります。
  • 参照のDLLはMySQL.Data.MySqlClientを使用します。
  • MySql.Data.MySqlClientには.NETパッケージは付属していませんが、MySQLConnector.NETとともにインストールする必要があります

MySql.Data.dllファイルをクリックワンスアプリケーションにバンドルして、コネクタに付属しているものではなく、ITを参照できますか?より具体的には、ClickOnceでDLLが出力されるようにするにはどうすればよいですか?また、そのDLLへの相対リンクを作成するにはどうすればよいですか?

4

2 に答える 2

4

ClickOnce配置にアセンブリを追加するには、2つのケースがあります。

1:アセンブリへの直接参照があります。アセンブリをメインプロジェクトに追加します。ビルドアクションを「なし」に設定します。「出力ディレクトリにコピー」を「コピーしない」に設定します。そのアセンブリにアクセスするプロジェクトへの参照を追加します。プロジェクトに追加したdllを参照し、それを選択します。'copylocal'をtrueに設定します。

2.アセンブリへの直接参照がありません。アセンブリをメインプロジェクトに追加します。ビルドアクションを「なし」に設定します。「出力ディレクトリへのコピー」を「常にコピー」に設定します。

一部のアセンブリはローカルに展開でき(SQLCEなど)、一部は展開できません(SQL Server Expressなど)。あなたはそれを試して見ることができます。

ライセンスと、パッケージを前提条件としてインストールする代わりにdllを含めることができるかどうかを考慮する必要があります。一部の企業は、自社製品を意地悪に展開することを許可していません。(これは専門用語です。)

于 2012-08-25T07:04:26.917 に答える
0

MySQL.Dataリファレンスの「copylocal」設定を「True」に変更します。

于 2012-08-21T06:13:02.077 に答える