2014-12-05 1 views
0

У меня есть решение в Visual Studio 2013, где я использую xcopy в событиях после сборки, чтобы скопировать необходимые файлы в папку bin\Debug. Событие post build отлично работает, и когда я запускаю приложение в visual studio, приложение может найти необходимые файлы, которые скопированы в папку bin\Debug.Где находится папка bin/Release для приложений развертывания ClickOnce?

xcopy "$(SolutionDir)packages\NUnit.Runners.2.6.3\*.*" "$(OutDir)..\..\NUnitRunners\" /E /I /Y /F 
xcopy "$(SolutionDir)ProductionSmoke\bin\Debug\ProductionSmoke.exe" "$(OutDir)..\..\" /E /I /Y /F 
xcopy "$(SolutionDir)ProductionSmoke\bin\Debug\ProductionSmoke.exe.config" "$(OutDir)..\..\" /E /I /Y /F 

Однако, когда я публикую решение с помощью ClickOnce, приложение выдает исключение, которое не может найти файлы.

private void buttonProductionSmoke_Click(object sender, EventArgs e) 
{ 
    var pathToNunitGui = AppDomain.CurrentDomain.BaseDirectory + "NUnitRunners\\tools\\nunit.exe"; 
    var pathToProductionSmoke = AppDomain.CurrentDomain.BaseDirectory + "ProductionSmoke.exe"; 
    Process.Start(pathToNunitGui, pathToProductionSmoke); 
} 

Я посмотрел в папке User\AppData\ и не вижу папку bin\Release в любом месте.

Как я могу предоставить программе путь к файлам, чтобы к ним можно было получить доступ после использования развертывания ClickOnce?

ответ

1

Будет папка «app.publish» под конкретной папкой конфигурации. Эта папка будет содержать файл «.application» и папку «Файлы приложений». Внутри папки «Файлы приложений» вы найдете папки, зависящие от версии, с основными и зависимыми двоичными файлами.

Номер версии для папок будет зависеть от AssemblyVersion файла AssemblyInfo.cs. Вы должны изучить Continuous Integration, MSBuild, NAnt и т. Д., Чтобы динамически обновлять этот файл, чтобы отобразить правильную версию.

 Смежные вопросы

  • Нет связанных вопросов^_^