【问题标题】:Deploying Program部署程序
【发布时间】:2011-04-19 16:50:17
【问题描述】:

我有一个快速的初学者问题。我在工作中用 C# (VS 2010 Express) 编写了一个非常简单的程序,并希望将它部署在办公室周围。我有基本的管理员权限(也就是我可以安装简单的程序),但我有一种感觉,从编程的角度来看,它并不像复制和粘贴 exe 那样简单......

我必须做一些具体的事情来捆绑安装吗?如果所有办公室计算机都运行 Windows XP,是否有某个 .NET 版本我应该在其中编写代码?我肯定无法更新其他办公室计算机的 .NET 等(但我不知道它们运行什么......)

提前致谢!

【问题讨论】:

标签: c# visual-studio deployment


【解决方案1】:

第一步:获取您正在使用的框架版本。

要做到这一点:在您的项目中,由于您使用的是 Visual Studio,请依次右键单击每个项目,如下所示:

查看“目标框架”,这是您需要用户使用的版本。

如果您要部署应用程序的 PC 没有它,并且您的 IT 人员拒绝安装您的版本,您只需更改同一窗口中使用的框架(但随后您可能需要进行调整.. .)

第二步:打包!

要做到这一点:在我上传的同一张照片上,您可以看到它在顶部显示“发布”。一旦您的应用程序准备好部署,请从 Debug 切换(这是您目前应该处于的状态)然后构建它。

最后要做的是压缩应用程序:转到项目的 /bin/release 文件夹。

您不需要添加 APPLICATION_NAMEvshost.exe 或 *.pdb 文件。

该压缩文件是可以在任何机器上运行的程序,使其可供用户使用 =)

欢迎来到开发世界!

【讨论】:

    【解决方案2】:

    您需要知道安装了哪个版本的 .NET 框架。完全有可能根本没有。

    如果您无法让您的 IT 团队安装最低限度的一致版本的框架,那么 .Net 应用程序可能不适合编写代码。您是否有权访问 Web 服务器,并且该应用程序可以是 Web 应用程序而不是 Windows 应用程序吗?这会将您的部署问题限制在 Web 应用程序上。

    或者,将您的应用程序打包到部署包中。我们发现 ClickOnce 部署是部署应用程序的好方法,因为用户不需要管理员权限即可从网络共享运行 ClickOnce 应用程序 - 只要该网络共享是受信任的。您可以在 ClickOnce 包中包含先决条件,例如 .net Framework 版本,但如果这样做,用户将需要其计算机上的管理员权限。您还可以将应用程序部署为 MSI,并要求您的 IT 团队部署给用户。

    希望对您有所帮助。

    【讨论】:

      【解决方案3】:

      除非您有意引入其他依赖项,否则 C#/.NET 程序应该能够仅使用可执行文件运行。

      至于使用哪个版本的 .NET,这完全取决于。最安全的选择可能是 .NET 2.0,但 XP 机器完全有可能一直升级到 .NET 4.0。

      【讨论】:

      • 谢谢,嗯。假设它类似于 .NET 3.5,如果我在程序中添加额外的类和不添加的类(比如 LINQ to SQL,以及可能对 mySQL 的引用),我是否必须做一些特别的事情,或者将其包含在 . exe?
      【解决方案4】:

      我建议您看一下 VS 为您提供的项目部署的以下两个选项

      单击一次 http://msdn.microsoft.com/en-us/library/t71a733d(v=VS.100).aspx

      我发现这对 Intranet 应用程序特别有用

      另一个是经典的安装项目,您只需要包含项目的主要输出并创建一个安装程序,将必要的 dll、exe 等放入其他可配置设置的文件夹中

      http://www.c-sharpcorner.com/UploadFile/vishnuprasad2005/SetupProjects12022005022406AM/SetupProjects.aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-27
        • 2016-09-11
        • 2012-11-14
        • 1970-01-01
        • 1970-01-01
        • 2021-05-11
        • 2017-02-05
        • 1970-01-01
        相关资源
        最近更新 更多