Visual Studio がないと WPF プログラムを実行できないのはなぜですか?
質問のタイトルは、実際には Visual Studio に関連していないため、正確ではありません。 構成 ( ) と他のアセンブリ ( )MultiStart.exe
に依存します。これらの依存関係がないと、アプリケーションは実行できません (これが .NET の仕組みであるため)。MultiStart.exe.config
System.Data.SQLite.dll
WPF を実行するために必ずしも構成ファイルが必要なわけではないため、問題はアプリケーションが必要とする構成ファイルの内容です。この構成情報をコード (接続文字列など) に移動して app.config を削除することは可能かもしれませんが、値はアプリケーションでハードコーディングされます。
依存アセンブリに関しては、展開する代わりに、それらをリソースとして埋め込み、AppDomain.AssemblyResolve イベントを使用してリソースからアセンブリを読み取ることができます (例については、別のアセンブリ内へのアセンブリの埋め込みを参照してください)。
アセンブリをリソースとして埋め込む代わりの別の方法は、アセンブリを 1 つのアセンブリにマージすることです。 ILMergeはアセンブリをマージするための一般的な選択肢ですが、WPF アセンブリで問題が発生する可能性があることを読みました (それが当てはまるかどうかはわかりません)。アセンブリを WPF とマージするためのその他のアイデアについては、「 wpf を使用して dll を単一の .exe にマージする」を参照してください。
.NET はアセンブリの解決に PATH を使用しないため、PATH 変数の設定は機能しないことに注意してください。詳細については、「ランタイムがアセンブリを検索する方法」を参照してください。
をデスクトップにコピーする代わりにMultiStart.exe
、適切なディレクトリにリンクするデスクトップ上のショートカットを使用することもできます。おそらくそれはより簡単な解決策です