実現したいこと
Visual Studio 2019でWindowsフォームアプリケーションを作成しています。
別PCで実行するためにビルドしてフォルダごと移動させたいです。
前提
初心者のため的外れのことを言っていたらすみません。
Visual Studio 2019でWindowsフォームアプリケーションを作成しています。
.NET Framework 4.7.2
OracleDBに接続するため、NGetsでOracle.ManagedDataAccess等をインストールしています。
デバック環境だと想定通り動作して、VS2019からビルドしてobj\Release\内のプログラムを動かすと下記エラーが発生する状態です。
発生している問題・エラーメッセージ
ファイルまたはアセンブリ 'Oracle.ManagedDataAccess, Version=4.122.21.1, Culture=neutral, PublicKeyToken=89b483f429c47342'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。
https://mitosuya.net/cause-oracle-dataaccess-error を確認して、
アプリケーションがOracle.DataAccess.dllを見つけれない状態であると判断しました。
試したこと
1.エラーメッセージからdllが読み込めていないと考え、obj\Release\内にOracle.ManagedDataAccessのdllを置くなどしました
⇒メッセージ変わらず。
2.https://kuttsun.blogspot.com/2018/08/dll.html
を参考に packages.config から PackageReference へマイグレーションする。
⇒packagesフォルダが消え、project.assets.json他ファイルが生成されました。特に変わりなし。
疑問点
1.NGetsでインストールしたプログラムはビルドの際良い感じに一緒のフォルダに入ると思っていたが、この認識は間違いなのか?
2.NGetsでインストールしたプログラムが入っているpacagesフォルダをどこかに置けば動作するのか?releaseフォルダやsystem32フォルダに配置すれば読み込むのか?
3.本当にpacagesは読み込めていないのか?
4.bin\Debugのプログラムは動作するのにビルドしたobj\Debugが動作しないのはどこの違いなのか?
重ねて申し上げますが、なにか変な認識をしていたら申し訳ありません。
補足情報(FW/ツールのバージョンなど)
Visual Studio 2019
C#
.NET Framework 4.7.2
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/10/25 05:59
2023/10/25 06:09