2014-12-05 68 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等动态更新此文件以反映正确的版本。

相关问题