NServiceBusサービスを構築していますが、(Visual Studioを介したデバッグまたはコマンドラインから)NServiceBus.Host.exeを起動すると、実行中のDLLがAppDataフォルダーに再配置されているように見えます。
アプリケーションは、bin \ debugフォルダー(DLLを含むpluginsフォルダーなど)に存在するリソースに依存していますが、これらのリソースは一時フォルダーにコピーされていません。
私の環境はWindows7x64であり、動作を変更せずに、管理者としてVisualStudioとコマンドプロンプトの両方を実行しようとしました。
編集
この動作はTopshelf内で発生しているようです。エンドポイントのコンストラクターの最後にブレークポイントを指定してデバッグすると、エンドポイントがProgram.csのMainメソッドで構築されたときに最初に停止します。この時点での環境は次のとおりです。
?GetType()。Assembly.CodeBase "file:/// C:/Projects/ProcessorService/ProcessorService/bin/Debug/ProcessorService.DLL" ?GetType()。Assembly.Location "C:\\ Projects \\ ProcessorService \\ ProcessorService \\ bin \\ Debug \\ProcessorService.dll"
ただし、コンストラクターが再度呼び出されると、今回はGenericHostコンストラクターから、これが環境になります。
?GetType()。Assembly.CodeBase "file:/// C:/Projects/ProcessorService/ProcessorService/bin/Debug/ProcessorService.DLL" ?GetType()。Assembly.Location "C:\\ Users \\ MyUser \\ AppData \\ Local \\ assembly \\ dl3 \\ D5KV9218.DO9 \\ YOKC5KD8.C92 \\ 4474672e \\ 06519009_7623cb01 \\ ProcessorService.DLL"
dllの移動が行われている場所を正確に確認するために、TopShelfコードをデバッグしてデバッグしていません。しかし、これは間違いなくNServiceBus.Host.Exe内で行われています。