この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 50236|答える: 3

[出典] C#はプロービングを通じてリファレンスライブラリのDLLをサブフォルダに配置します

[リンクをコピー]
2020年11月10日 17:46:35に投稿 | | | |
需要:

プロジェクトには3種類のDLLがあります。多すぎて、そして散らかっていることです。 これらを3つのサブディレクトリに分類する方法
たとえば:
DevはDevexpressディレクトリに配置されます
リファレンスライブラリプロジェクトをディレクトリLibに配置してください
サードパーティのDLLはOthディレクトリに配置されます

大規模なプロジェクトを開発すると、プロジェクトで参照されるDLLが多くなり、関数ごとに異なるフォルダに異なるDLLを配置したいと考えています。

例:

Net2はコンソールプロジェクトで、ClassLibrary4のクラスライブラリを参照します。コンパイルされたアプリケーションとdllは同じディレクトリにあります。ClassLibrary4.dllをプログラムディレクトリのテストフォルダの下に置きたいので、直接入れると例外が出ます:

処理されていない例外:System.IO.FileNotFoundException:ファイルまたはアセンブリ「ClassLibrary4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null」またはその依存関係のいずれかを読み込みに失敗しました。 システムが指定されたファイルを見つけられません。
   net2では。 Program.Main(String[] args)

解決

net2.exe.configファイルを編集し、プロービング設定を以下のように追加してください:

もし2つの異なるDLLが2つの異なるフォルダに分けなければならない場合、異なるフォルダを示すにはセミコロンを使ってください例えば:


ClassLibrary4 コード:

Net2コード:


以下のようにプログラムを実行してみてください:


所見:batスクリプトを書いて、アセンブリ生成後の時間をかけてライブラリのdllをサブディレクトリに移すことができます

(終わり)






先の:現在のディレクトリを取得するにはSystem.Environment.CurrentDirectoryに注意してください
次に:. .NET MySQL コネクタの競合 DbProviderFactories(.NET MySQL コネクタの競合 DbP...
 地主| 2020年11月10日 18:18:44に投稿 |
C++ dllがプログラムのサブディレクトリに配置されている場合、環境変数を追加することで設定できます

例えば:

dllをテストディレクトリの下に置いてください



2021年7月16日 22:42:52に投稿 |
学んだ。。。。。。
2023年2月25日 21:18:42に投稿 |
これが私が求めているものであることを本当に願っています
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com