Я создаю службу NServiceBus, и когда я запускаю ее (в режиме отладки через Visual Studio или из командной строки), NServiceBus.Host.exe, кажется, перемещает библиотеки DLL, которые он выполняет, в мою папку AppData.
Приложение зависит от ресурсов, которые существуют в папке bin \ debug (например, папка плагинов, содержащая библиотеки DLL), но эти ресурсы не копируются во временную папку.
Моя среда - Windows 7 x64, и я попытался запустить Visual Studio и командную строку в качестве администратора без изменений в поведении.
EDIT
Поведение, кажется, происходит в пределах Топ-полки. Когда я отлаживаю через точку останова в конце конструктора моей конечной точки, она сначала останавливается, когда конечная точка создается в методе Main из Program.cs; среда на данный момент:
? 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"
Я не вытащил код TopShelf для отладки, чтобы точно увидеть, где происходит перемещение dll. Но это определенно происходит в NServiceBus.Host.Exe.