dllをexe(Visual Studio)に含めることはできますか? [複製]
-
20-08-2019 - |
質問
アプリを実行するには、Debug and ReleaseフォルダーにあるAxInterop.WMPLib.dll
およびInterop.WMPLib.dll
が必要です。これらのdllをexeに含める方法はありますか?私のアプリは1つのファイルでのみ利用可能ですか?
解決
DLLが.NETアセンブリである限り、 ILMerge は、exeとそのすべての依存関係を1つのファイルに結合できる必要があります。
他のヒント
boxedappやthinstallなどのツールを使用できます...
boxedappもお勧めします。それは素晴らしいアプリです!
埋め込みとして含めます。その後、実行時にそれらを抽出できます。
はい、ファイルを書き出すコードを省きました...
FileStream so=new FileStream("c:\\\wherever\\\x.dll",FileMode.Create);
so.Write(buf,0,ssize);
so.Close();
追加のユーティリティは必要ありません。
たとえば、x.dllをプロジェクトに追加し、ビルドアクションを埋め込みリソースに設定します。
抽出するには:
string AppPath=Assembly.GetExecutingAssembly().Location;
Assembly ThisAssembly=Assembly.LoadFrom(AppPath);
System.IO.Stream fs=ThisAssembly.GetManifestResourceStream("yourproectname.x.dll");
int ssize=(int)fs.Length;
byte [] buf=new byte[ssize];
fs.Read(buf,0,ssize);
fs.Close();
所属していません StackOverflow