C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[4]: バージョンの違うDLLを含む発行
(過去ログ 146 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 5 記事 (1 - 5 表示)] <<
0
>>
■85291
/ inTopicNo.1)
バージョンの違うDLLを含む発行
▼
■
□投稿者/ furu
(121回)-(2017/10/04(Wed) 15:45:27)
分類:[C#]
VS 2015
Windowsフォームアプリケーション
使用している言語はC#2015
いつも大変お世話になっております。
PostgreSQLにアクセスするNpgsql.dll(バージョン3.1.8.0)を
参照設定し使用するプロジェクトを作成し、発行したのですが
このプログラムがエラーで実行できません。
エラーは
「…。(GAC)にアセンブリNpgsql1.0.0.0をインストール…」
です。
実は、別なソリューションで作成したクラスライブラリも参照設定していて
その中でNpgsql.dll(バージョン1.0.0.0)を参照設定しています。
どちらのDLLもGACには登録していません。
発行でなく、binフォルダを全コピーすると
exeは問題なく実行できているようです。
バージョンの違うDLLを含むプログラムは
どのようにすると発行できますか?
それとも、元々無理な話でしょうか?
よろしくお願いします。
引用返信
編集キー/
編集
■85294
/ inTopicNo.2)
Re[1]: バージョンの違うDLLを含む発行
▲
▼
■
□投稿者/ Azulean
(871回)-(2017/10/04(Wed) 21:50:30)
一番簡単な解決策は同じバージョンを参照するように修正することです。
基本的に同じフォルダーに異なるバージョンを配置できません。
(同じファイル名なので自明かと思いますが…)
しかしながら、発行の処理の段階で参照設定から必要アセンブリが確認されて、異なるバージョンを見つけたが故にエラーになるのでしょう。
(発行段階でエラーになるか、インストール後にエラーになるかは発行処理の仕組み次第なのでなんとも言えませんが)
引用返信
編集キー/
編集
■85297
/ inTopicNo.3)
Re[2]: バージョンの違うDLLを含む発行
▲
▼
■
□投稿者/ furu
(122回)-(2017/10/05(Thu) 10:55:39)
■
No85294
(Azulean さん) に返信
回答ありがとうございます。
> 一番簡単な解決策は同じバージョンを参照するように修正することです。
ここが厳しいところです。
現状使用しているPostgreSQLにアクセスする社内共通ライブラリが
Npgsql.dll(バージョン1.0.0.0)を使用していて
新たにAmazon AWSを使いだしたのですが
Npgsql.dll(バージョン1.0.0.0)ではアクセスできず
Npgsql.dll(バージョン3.1.8.0)も使わざるを得なくなりました。
すべて、社内共通ライブラリをバージョン3.1.8.0に
置き換えればいいのですが、機能が異なっているところがあり
プログラム変更できていない状況です。
>
> 基本的に同じフォルダーに異なるバージョンを配置できません。
> (同じファイル名なので自明かと思いますが…)
そうですか。
バージョンを管理できるようになっているので
GACのように異なるバージョン配置の仕組みがあったらと思っていました。
> しかしながら、発行の処理の段階で参照設定から必要アセンブリが確認されて、異なるバージョンを見つけたが故にエラーになるのでしょう。
> (発行段階でエラーになるか、インストール後にエラーになるかは発行処理の仕組み次第なのでなんとも言えませんが)
発行の段階では、プロジェクトの参照設定には片方しか参照していないからかエラーになりません。
起動で参照していない方がエラー(見つからない)になります。
異なるバージョンを配置できないということがわかったので
解決済みとします。
解決済み
引用返信
編集キー/
編集
■85302
/ inTopicNo.4)
Re[3]: バージョンの違うDLLを含む発行
▲
▼
■
□投稿者/ Jitta
(318回)-(2017/10/05(Thu) 16:35:23)
https://blogs.msdn.microsoft.com/abhinaba/2005/11/30/c-2-0-using-different-versions-of-the-same-dll-in-one-application/
C# 2.0: Using different versions of the same dll in one application
これは参考になりますか?
検索文字列「c# version dll search」
解決済み
引用返信
編集キー/
編集
■85306
/ inTopicNo.5)
Re[4]: バージョンの違うDLLを含む発行
▲
▼
■
□投稿者/ Azulean
(873回)-(2017/10/05(Thu) 22:28:22)
■
No85297
(furu さん) に返信
> GACのように異なるバージョン配置の仕組みがあったらと思っていました。
基本的には異なるバージョンの配置は GAC でしょうね。
フォルダーを分けて、config ファイルでいろいろと書けばできなくはないかも…ですが、それなりに手間はかかるかと。
そうやっても、ローカルで実現したとしても、ClickOnce でうまくいくかはわかりません。
■
No85302
(Jitta さん) に返信
>
https://blogs.msdn.microsoft.com/abhinaba/2005/11/30/c-2-0-using-different-versions-of-the-same-dll-in-one-application/
> C# 2.0: Using different versions of the same dll in one application
これも ClickOnce でうまくいくか不安がありますね…。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-