0

私の C# コードは C++ DLL をロードします。Visual Studio 2008 がインストールされている私の PC では問題なく動作します。しかし、他のマシンでは、プログラムは例外で停止します

Unhandeled exception: system.dllnotfoundexception unable to load dll ... 
this application has failed becasue the application configuration is incorrect.... 

VS 2008 がインストールされていないマシンでこのコードを実行するにはどうすればよいですか?

4

2 に答える 2

1

DLL が独自のカスタム DLL である場合は、プロジェクトと共に DLL を配布する必要があります。そうでない場合は、必要な DLL をカスタム インストーラーを使用してインストールするか、別のプロバイダーの場合はそのインストーラーを使用してインストールする必要があります。

この記事は少し古いかもしれませんが、

DLL ファイルと .NET ClickOnce 配置

.NET アプリの 1 つを ClickOnce アプリケーションとして展開したいと考えています。問題は、私が Oracle に接続していることです (こことここの以前の投稿を参照してください)。Oracle に接続するには、少なくとも 4 つの DLL ファイルが必要です。これらのファイルは通常、EXE ファイルと同じディレクトリにある必要があります。問題は、プログラムが公開されると、DLL がまったく参照されないため、プログラムが機能しないことです。

次に、ファイルをプロジェクトに追加する方法について読み、ClickOnce と Publish プロセッサが DLL が必要であることを認識してマニフェストに追加できるようにします。

Here is the process in Visual Studio 2005:  
1. Put the 4 DLL files in their own directory in your solution directory (for ease of use mostly).  
2. Add all four files to your project by going to “Project->Add Existing Item…”  
3. Click on each DLL file in the solution explorer and then change their property: “Copy To Output Directory” to “Copy Always”.

それでおしまい!これで、アプリケーションを公開したり、実行したりするときに、DLL ファイルがあるべき場所にあるかどうかを心配する必要がなくなりました。

于 2013-05-06T12:14:49.727 に答える