ClickOnce 部署应用程序的 bin/Release 文件夹位于何处



我在Visual Studio 2013中有一个解决方案,我在构建后事件中使用xcopy将必要的文件复制到binDebug文件夹中。后期构建事件运行良好,当我在 Visual Studio 中运行应用程序时,应用程序可以找到复制到binDebug文件夹的必要文件。

xcopy "$(SolutionDir)packagesNUnit.Runners.2.6.3*.*" "$(OutDir)....NUnitRunners"  /E /I /Y /F
xcopy "$(SolutionDir)ProductionSmokebinDebugProductionSmoke.exe" "$(OutDir)...."  /E /I /Y /F
xcopy "$(SolutionDir)ProductionSmokebinDebugProductionSmoke.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);
} 

我查看了UserAppData文件夹,在任何地方都看不到binRelease文件夹。

如何为程序提供文件的路径,以便在使用 ClickOnce 部署后可以访问它们?

在特定配置文件夹下将有一个"app.publish"目录。 此文件夹将包含一个".application"文件和一个"应用程序文件"文件夹。 在"应用程序文件"文件夹中,您将找到包含主二进制文件和从属二进制文件的版本特定文件夹。

文件夹的版本号将取决于 AssemblyInfo.cs 文件的程序集版本。 您应该查看持续集成、MSBuild、NAnt 等,以动态更新此文件以反映正确的版本。

最新更新