2014-12-05 51 views
0

我在Visual Studio 2013中有一個解決方案,我在後期構建事件中使用xcopy將必要的文件複製到bin\Debug文件夾中。後期構建事件完美地工作,當我在Visual Studio中運行應用程序時,應用程序可以找到複製到bin\Debug文件夾的必要文件。位於ClickOnce Deployment應用程序的bin/Release文件夾位於何處?

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」文件和一個「應用程序文件」文件夾。在「應用程序文件」文件夾中,您將找到具有主要和相關二進制文件的版本特定文件夾。

這些文件夾的版本號將取決於AssemblyInfo.cs文件的AssemblyVersion。您應該查看持續集成,MSBuild,NAnt等動態更新此文件以反映正確的版本。

相關問題