部署.NET C#控制台应用程序

部署.NET C#控制台应用程序,c#,.net,console-application,C#,.net,Console Application,全部, 我在VS2010(.NET4)中创建了一个C#控制台应用程序。点击数据库并发送电子邮件。 当我从VS运行它时,它工作得很好,但是将应用部署到远程服务器让我感到困惑。我只需要在(1)远程windows服务器上安装此应用程序 应该很容易吧 查看发布设置,我没有看到任何只在本地构建而不创建安装程序(从CD-Rom或DVD-Rom)的内容,其他两个选项也不适用,至少从它们的描述来看是这样 以下是我到目前为止所做的: 我得到的VS2010发布选项如下: 步骤#1选择选项3 步骤#2将生成的文件放

全部,

我在VS2010(.NET4)中创建了一个C#控制台应用程序。点击数据库并发送电子邮件。 当我从VS运行它时,它工作得很好,但是将应用部署到远程服务器让我感到困惑。我只需要在(1)远程windows服务器上安装此应用程序

应该很容易吧

查看发布设置,我没有看到任何只在本地构建而不创建安装程序(从CD-Rom或DVD-Rom)的内容,其他两个选项也不适用,至少从它们的描述来看是这样

以下是我到目前为止所做的:

我得到的VS2010发布选项如下:

步骤#1选择选项3

步骤#2将生成的文件放在远程服务器上

步骤#3运行安装程序

步骤4获取此错误

问题

我的做法正确吗? 如果没有,我需要做什么

谢谢

请注意错误:

该应用程序要求首先在全局程序集缓存(GAC)中安装assembly office版本12.0.0.0

参考并包含我在下面引用的答案:

我们通过进入项目属性的“发布”选项卡下的“应用程序文件”对话框并将office.dll程序集更改为包含来解决此问题。它以前被设置为先决条件(自动)--


看起来您的应用程序正在利用Microsoft Office(我想是2003)COM对象。这将需要在服务器上安装相同版本的Office


如果您正在利用Office格式文件(.doc、.docx、.xls、.xlsx),您可以查看第三方库,这些库允许您在未安装Office的情况下创建格式化文件。如果您只是使用Outlook发送电子邮件,则应改用.NET库重新实现该功能。

最好的方法是只构建(编译)应用程序并将工件(exe、配置和DLL)输出复制到最终目标。同意.NET支持“xcopy”部署,在大多数情况下,只需复制release build over.tucaz是正确的,尽管有时您只需要在目标系统上安装prerquiste库。我认为对于office dll问题,你可以做一个或另一个。在目标系统上安装office之前,我会先尝试复制tucaz说的内容。您在项目中引用了什么?它说明您需要在计算机上安装office程序集。你是否使用Outlook发送电子邮件?你是否有office dll?我想可能有一些第三方dll使用office的东西?我不会直接做那样的事,可能吧!我确信这没有撒谎:)将office.dll和office.Interop.Outlook添加到应用程序文件中修复了它。谢谢你!快乐编码。