Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 部署程序_C#_Visual Studio_Deployment - Fatal编程技术网

C# 部署程序

C# 部署程序,c#,visual-studio,deployment,C#,Visual Studio,Deployment,我有一个快速的初学者问题。我正在工作时用C VS 2010 Express编写一个非常简单的程序,并希望在办公室内部署它。我有基本的管理员权限,也就是说我可以安装简单的程序,但我有一种感觉,从编程的角度来看,它不像复制和粘贴exe那样简单 我需要做些什么才能把它捆绑起来安装吗?如果所有的办公电脑都运行windows XP,是否有某个.NET版本我应该将其编码?我肯定无法更新其他办公室电脑的.NET等,但我不知道它们运行什么 提前谢谢 您需要知道安装了什么版本的.NET framework。完全有

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

我需要做些什么才能把它捆绑起来安装吗?如果所有的办公电脑都运行windows XP,是否有某个.NET版本我应该将其编码?我肯定无法更新其他办公室电脑的.NET等,但我不知道它们运行什么


提前谢谢

您需要知道安装了什么版本的.NET framework。完全有可能根本没有

如果您无法让您的IT团队安装框架的最低、一致的版本,那么.Net应用程序可能不是正确的编码方式。您是否可以访问web服务器,并且应用程序是否可以是web应用程序而不是windows应用程序?这将使您的部署问题仅限于web应用程序

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


希望这会有所帮助。

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


至于使用哪个版本的.NET,这要看情况而定。您最安全的选择可能是.NET 2.0,但XP机器完全有可能一直升级到.NET 4.0。

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

点击一下

我发现这对于内部网应用程序特别有用

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

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

为此:在您的项目中,由于您使用visual studio,请依次右键单击每个项目,如下所示:

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

如果您希望部署应用程序的PC上没有,并且您的it人员拒绝安装您的版本,您可以只更改同一窗口中使用的框架,但可能需要进行调整

第二步:打包

要做到这一点:在我上传的同一张图片上,你可以看到上面写着Release。一旦您的应用程序准备好进行部署,请从Debug切换到您当前应该处于的状态,然后构建它

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

您不需要添加应用程序_namevhost.exe或*.pdb文件

ziped文件是可以在任何机器上运行的程序,用户可以使用它=


欢迎来到发展世界

我推荐一个关于“安装项目”的Q,以下不包括依赖项,但包括重复/相关:谢谢。假设它类似于.NET3.5,如果我在程序中添加额外的类和非类,比如LINQtoSQL,以及可能与mySQL有关的引用,那么我是否需要做一些特殊的事情,或者这会包含在.exe中?