【问题标题】:Temporary debug releases and final application releases临时调试版本和最终应用程序版本
【发布时间】:2011-02-05 01:15:12
【问题描述】:

我有一个关于 VS 2008 中的调试和发布的快速问题。

我有一个我一直在开发的应用程序——它还没有完成,但大部分功能都在那里。所以基本上我现在想把它的副本给帮助文档的人——这样他们就可以玩一玩,感受我所做的事情。

现在的问题是如何提供给他们。我被告知只需将 .exe 从 debug/bin 文件夹中复制出来,然后将其放到 USB 上。但是在测试时,如果我在其他任何地方(在这个文件夹之外)运行这个 .exe,它就会崩溃。我现在已经弄清楚了为什么会这样:

var path = ConfigurationManager.AppSettings["PathToUse"];
var files = Directory.GetFiles(path);

抛出一个空引用,这样 App.config 文件就没有被使用。如果我使用 .exe 复制该文件,它会再次运行。

所以实际上我的问题是关于管理这种情况的最佳方法。向人们提供工作副本的最佳方式是什么?是否有关于准备发布应用程序的参考 - 所以所有内容都打包在一起并安装在一个干净的结构化文件夹层次结构中?

【问题讨论】:

    标签: c# wpf visual-studio-2008 debugging release


    【解决方案1】:

    如果您想安全起见,请获取 debug/bin 文件夹中的所有内容。如果你用VS中的下拉菜单改成release再编译项目,release/bin文件夹中的文件会少一些,因为很多debug相关的文件都没有包含进去。

    如果您引用了第三方 DLL,例如您下载了 log4net 或类似的东西,那么您只需将它们放在与 exe 相同的文件夹中即可。这称为并行部署,在我看来是最简单和最容易测试的。

    您可以搜索 XCOPY 部署以了解有关您尝试执行的操作的更多信息。

    您可以采取另一个步骤,将 bin 文件夹压缩为 zip 文件等存档,以便用户轻松提取它们,或者您可以使用 WIX 或 NSIS 等工具创建安装程序来提取和复制文件。

    【讨论】:

    • 另外,如果有文件不在 debug/bin 和/或 release/bin 文件夹中,那么你可能需要在 VS 中选择文件,文件的属性中会有一个选项告诉编译项目时将其复制。这就是它出现在 bin 文件夹中的原因。另请注意,这些配置对于 Release 和 Debug 是分开的,您需要将下拉菜单切换到 Release 并再次进行相同的更改,以便您的 release 和 debug biuilds 行为相同。之所以这样,是因为有时可能需要调试而不是发布。
    • 或者可以在设置选项之前选择“所有配置”选项,这样就不必多次设置。 (当然,我通常不记得这样做,直到我已经在 Debug 中更改它...)
    • @SamB LOL 我到了,直到后来出现问题时我才意识到。
    猜你喜欢
    • 2020-04-05
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 2020-09-25
    • 2012-09-09
    • 2011-02-01
    • 2020-05-03
    • 1970-01-01
    相关资源
    最近更新 更多