在另一台计算机上运行我的C# Windows Forms项目

3
有没有办法让我的项目(使用IO、OLEDB等多个表单)在未安装任何C#软件的计算机上运行?
我需要让我的项目从EXE文件中运行。我知道在Project/bin/release/Debug中有一个exe文件,并且它可以在已安装C# Express软件的计算机上运行。
如何将我的项目导出到客户端计算机?
此外,是否有任何公共和免费的产品可用于安装(用于定位文件和文件夹等任务)?

您需要部署正确的 .DLL 文件,如果我没记错的话,如果它不起作用,会自动弹出一个对话框,解释缺少某些框架,并提示用户下载 .net 框架。您考虑过创建 .MSI 文件吗?我认为这将包含/嵌入在不同机器上运行应用程序所需的必要 .DLL 和依赖项。 - MethodMan
7个回答

7

当然可以!

在大多数情况下,您应该只需将可执行文件(在 bin 目录中找到)复制到目标计算机即可。该文件夹中可能还有其他一些必需/有用的文件,您可能也想要复制它们(例如.exe.config或.pdb文件,或者甚至是.dll文件,如果您的程序分成多个项目)。如果不确定,复制所有文件可能会起作用-最坏的情况下,其中一些文件只是不必要的(例如.vshost文件)。

您的目标计算机将需要安装您正在定位的.NET框架版本(例如2.0、3.5、4.0等)。在许多情况下,这已经安装了(特别是在.NET 2.0的情况下),如果没有安装,则通常可以通过Windows更新安装这些文件,或者快速搜索“.Net版本X安装程序”即可解决问题。如果您尝试在未安装所需.NET框架版本的计算机上运行应用程序,则应该会收到一个相对简单的错误消息。

如果您感觉自己能做到,那么在向客户分发软件时可能还有其他事情,例如

  • 以发布模式构建
  • 创建安装程序
  • 使用ClickOnce部署

但是以上内容应该可以让您开始了解。


@Love 我还有一个问题。本地计算机上未注册“Microsoft.ACE.OLEDB.12.0”提供程序。如果我安装Office,这个问题就会解决吗? - Noam650
@Justin 我还有一个问题。本地机器上未注册'Microsoft.ACE.OLEDB.12.0'提供程序。如果我安装Office,这个问题会解决吗? - Noam650
从以下链接下载:http://www.microsoft.com/zh-cn/download/details.aspx?id=23734。 - user1108948

2

您可以右键单击项目节点,将其发布并安装到其他计算机上。 请参阅ClickOnce


2

您只需要在目标计算机上安装 .Net Framework。


0

你必须在客户端电脑上安装与你开发C#应用程序时相同的.NET框架,你可以在自己的电脑上找到它,只需进入msvisualstudio安装文件夹,就能找到它,复制并安装到客户端电脑上。


0

如果您将应用程序作为86x应用程序而不是64x运行,则Microsoft.ACE.OLEDB.12.0在您的应用程序中将被大多数接受。尝试一下吧。


0

0

只有在使用Visual Studio工具进行开发/部署时,才需要使用C#或VB.net。整个框架都是必需的,每个组件都有其自己的角色(为其设计的目的)。您不能跳过它们。但是,您可以通过安装或利用第三方环境来最小化要求。由于我们都知道VS是一款许可产品,成本高达数千美元,但框架可以免费下载和分发。此外,要使用最低要求开发C#应用程序,您可以使用icsharp。这是一个轻量级且免费使用的.Net IDE。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接