【问题标题】:deploy exe to server将exe部署到服务器
【发布时间】:2012-04-09 17:16:44
【问题描述】:

我创建了一个控制台应用程序,我想在 SSIS 的计划包中使用它。在应用程序中,我连接到数据库以获取电子邮件地址并将电子邮件发送到该列表。当我将 .exe 放在服务器上时,它不会工作,但是当我把整个文件夹放在上面时,它工作正常。我假设它需要app.config。

将 exe 部署到服务器的最佳方式是什么?我应该先发布控制台应用程序,还是只构建它并获取 exe 和 app.config(不确定是否可能)?

【问题讨论】:

    标签: c# sql-server-2008 ssis


    【解决方案1】:

    如果您的 .exe 需要 app.config 或者将 app.config 复制过来,或者更改程序以便依赖于 app.config 的任何内容...不...所以您不需要

    em>需要复制 app.config。第二种可能是也可能不是一个可行的选择,因为我们不知道您的程序中的哪些内容使用了 app.config。

    对我来说似乎是一个相当简单的选择。你还期待听到什么?

    【讨论】:

    • 如果我也将 app.config 复制过来,仍然无法正常工作。如果我复制整个调试或发布文件夹,并从该文件夹运行 exe,它工作正常。我想我只是想找到我需要部署的文件的租赁量。过去,我只需要将 exe 放到服务器上,但在这个应用程序中,我连接到数据库并发送电子邮件,所以我想我必须解决将整个调试或发布文件夹放在服务器上......只是寻找一个更简单的解决方案
    • 你应该对你的项目依赖有一些感觉。如果你复制整个 bin/debug 文件夹,你也会复制很多不需要的调试信息。对于坐在服务器上,它并没有太大的伤害,但如果你将它提供给客户,它可能会比你希望他们拥有的信息更多。您可能正在引用其他 .dll,使用程序期望与 .dll 位于同一文件夹中的文件等。即使您正在复制整个文件,您也应该知道您的依赖项是什么。
    【解决方案2】:

    复制整个 Bin 文件夹是部署文件的完全有效方式(有时称为 x-copy 部署)。

    Bin 文件夹中可能还有其他文件(即您在项目中标记为“副本”的引用程序集)。

    您可以构建更正式的安装包,但对于简单的场景来说,它很可能会矫枉过正。

    【讨论】:

    • 好的,谢谢。我想这是正确的做法。我只是在寻找最好/最简单的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 2013-09-07
    • 2020-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多