teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

文章の修正

2020/04/01 02:38

投稿

BluOxy
BluOxy

スコア2663

answer CHANGED
@@ -6,9 +6,10 @@
6
6
 
7
7
  # どう対応すべきか
8
8
 
9
- そもそも、そういう依存関係を開発者に意識させないために NuGet があります。
9
+ そもそも、**ライブラリ間の依存関係を開発者が知らくて良**ように NuGet があります。
10
+
10
11
  dll を人の手で別プロジェクトに移動させるのではなく、エラーが出た該当のプロジェクトで NuGet からそのライブラリをインストールして再度検証してください。もっと厳密に調査するならエラーが出た該当のプロジェクトではなく、新規作成したプロジェクトで検証すべきです。
11
12
 
12
- 両方検証できれば、前者でNGならプロジェクト側特有の問題で、後者でNGならライブラリ側特有もしくは使い方の問題だと切り分けができます。
13
+ もし両方検証できれば、前者でNGならプロジェクト側特有の問題で、後者でNGならライブラリ側特有もしくは使い方の問題だと切り分けができます。
13
14
 
14
15
  ※ここまで検証を行った時点で自然とこの質問の根本的な問題が解決するとエスパーしたので、コメントではなく回答としてあえて書きました

2

文章の修正

2020/04/01 02:38

投稿

BluOxy
BluOxy

スコア2663

answer CHANGED
@@ -2,10 +2,13 @@
2
2
 
3
3
  NuGet からライブラリをインストールするとき、**インストールしたライブラリと依存関係のある他のライブラリも同時にインストール**されます。例えば `A` というライブラリを動かすのに `B` というライブラリが必要なら、 `A` は `B` に依存している・`A`と `B`は依存関係にあると表現できます。当然、`libzbar-cil` というライブラリをインストールした際にも依存関係のあるライブラリ(dll)がインストールされます。
4
4
 
5
- つまり、例え NuGet からインストールされていようと、**単一の dll を別プロジェクトに移動するだけでは動かない**場合があります。そもそういう依存関係を開発者意識させないために NuGet があるので、あえ使わな理由はいでしょう
5
+ つまり、例え NuGet からインストールされていようと、**単一の dll を別プロジェクトに移動するだけでは動かない**場合があります。少なくとも、他のdllと依存関係を持つライブラリは依存関係にあるdllが揃っていなければ動きません
6
6
 
7
- プロジェクト間で dll を手動で移動させるのではなく、エラーが出た該当のプロジェクトで NuGet からそのライブラリをインストールして再度検証してください。もっと厳密に調査るならエラーが出た該当のプロジェクトではなく、新規作成したプロジェクトで検証すべきです。
7
+ # どう対応すべき
8
8
 
9
+ そもそも、そういう依存関係を開発者に意識させないために NuGet があります。
10
+ dll を人の手で別プロジェクトに移動させるのではなく、エラーが出た該当のプロジェクトで NuGet からそのライブラリをインストールして再度検証してください。もっと厳密に調査するならエラーが出た該当のプロジェクトではなく、新規作成したプロジェクトで検証すべきです。
11
+
9
12
  両方の検証ができれば、前者でNGならプロジェクト側特有の問題で、後者でNGならライブラリ側特有もしくは使い方の問題だと切り分けができます。
10
13
 
11
14
  ※ここまで検証を行った時点で自然とこの質問の根本的な問題が解決するとエスパーしたので、コメントではなく回答としてあえて書きました

1

当然の話だが一応追記…

2020/04/01 02:35

投稿

BluOxy
BluOxy

スコア2663

answer CHANGED
@@ -1,11 +1,11 @@
1
1
  > 別のプログラムから(正常に動く)持ってきたDLL
2
2
 
3
- NuGet からライブラリをインストールするとき、**インストールしたライブラリと依存関係のある他のライブラリも同時にインストール**されます。例えば `A` というライブラリを動かすのに `B` というライブラリが必要なら、 `A` は `B` に依存している・`A`と `B`は依存関係にあると表現できます。
3
+ NuGet からライブラリをインストールするとき、**インストールしたライブラリと依存関係のある他のライブラリも同時にインストール**されます。例えば `A` というライブラリを動かすのに `B` というライブラリが必要なら、 `A` は `B` に依存している・`A`と `B`は依存関係にあると表現できます。当然、`libzbar-cil` というライブラリをインストールした際にも依存関係のあるライブラリ(dll)がインストールされます。
4
4
 
5
5
  つまり、例え NuGet からインストールされていようと、**単一の dll を別プロジェクトに移動するだけでは動かない**場合があります。そもそも、そういう依存関係を開発者に意識させないために NuGet があるので、あえて使わない理由はないでしょう。
6
6
 
7
7
  プロジェクト間で dll を手動で移動させるのではなく、エラーが出た該当のプロジェクトで NuGet からそのライブラリをインストールして再度検証してください。もっと厳密に調査するならエラーが出た該当のプロジェクトではなく、新規作成したプロジェクトで検証すべきです。
8
8
 
9
- の検証ができれば、前者でNGならプロジェクト側もしくは使い方の問題で、後者でNGならライブラリ側か単純に使い方の問題だと切り分けができます。
9
+ 両方の検証ができれば、前者でNGならプロジェクト側特有の問題で、後者でNGならライブラリ側特有もしくは使い方の問題だと切り分けができます。
10
10
 
11
- ここまで検証を行った時点で自然とこの質問の根本的な問題が解決するとエスパーしたので、コメントではなく回答としてあえて書きました
11
+ ここまで検証を行った時点で自然とこの質問の根本的な問題が解決するとエスパーしたので、コメントではなく回答としてあえて書きました