Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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# 什么';将ASP.NET应用程序部署到生产环境中的适当方法是什么?_C#_Asp.net_Visual Studio 2010_Deployment - Fatal编程技术网

C# 什么';将ASP.NET应用程序部署到生产环境中的适当方法是什么?

C# 什么';将ASP.NET应用程序部署到生产环境中的适当方法是什么?,c#,asp.net,visual-studio-2010,deployment,C#,Asp.net,Visual Studio 2010,Deployment,我不想听起来很愚蠢,但ASP.NET不是我的强项 我已经构建了一个ASP.NET应用程序,现在将其部署到生产服务器。在网上搜索时,我发现建议只使用VS2010中的安装工具在生产服务器上编译和安装文件。不过,我觉得有点奇怪: 服务器上的文件正是我系统上的文件。我会想象,迁移到生产服务器将涉及一些文件内容的编译和压缩,以改进执行。但实际上,服务器上的所有文件都与本地系统上的文件完全相同——我甚至可以在服务器上修改我的.cs文件,这很有效!!(惊讶;-)) 从上面开始,我的所有代码都可以在服务器上随时

我不想听起来很愚蠢,但ASP.NET不是我的强项

我已经构建了一个ASP.NET应用程序,现在将其部署到生产服务器。在网上搜索时,我发现建议只使用VS2010中的安装工具在生产服务器上编译和安装文件。不过,我觉得有点奇怪:

  • 服务器上的文件正是我系统上的文件。我会想象,迁移到生产服务器将涉及一些文件内容的编译和压缩,以改进执行。但实际上,服务器上的所有文件都与本地系统上的文件完全相同——我甚至可以在服务器上修改我的.cs文件,这很有效!!(惊讶;-))
  • 从上面开始,我的所有代码都可以在服务器上随时查看。我不确定这是否是个问题。。。例如,是否会导致安全风险(由于文件中的密码)

  • 您是否在VS2010中创建了网站或web应用程序项目?如果它是一个web站点,您将希望将其转换为web应用程序项目。当第一次请求应用程序时,可以动态编译网站。web应用程序项目是预编译的,发布项目时,不会将任何.cs文件推出到生产服务器

    我知道我可以通过右键单击我的web项目并选择“转换为web应用程序”来进行转换,但由于ReSharper(5.1)或Microsoft Visual Studio 2010扩展的PowerCommands,该菜单项可能会出现


    此外,请检查您的.aspx文件。您只有.aspx和.aspx.cs吗?或者还有一个.aspx.designer.cs文件?设计器文件将仅用于web应用程序项目。如果你看不到它们,那就是你有一个网站,而不是一个web应用程序项目。

    你可以按照你所做的去做,但我不推荐你这么做,因为你提到的原因。另外,您的代码实际上并没有编译

    典型的方法是编译应用程序,然后获取/bin dll并将其推送到服务器。基本站点需要一个web.config、一个包含DLL的bin文件夹和任何包含标记的ASPX文件、任何静态内容(如JS/CSS/Images等)。。在这种情况下,标记(aspx)仍然可以编辑,但CS代码在DLL中,服务器上没有CS文件

    您还可以预编译整个过程,这将实际修改ASPX文件,您可以在此处找到更多信息:

    VisualStudio2010在“构建”菜单下有一个“发布”功能,可以通过FTP或Web部署为您推送站点,但这只对较小的项目有用

    对于大多数情况,您需要查看msbuild或nant来编写流程脚本,这也允许您将JSmin或JSLint之类的内容合并到构建/部署中

    希望有帮助。 -财政司司长

  • 这取决于你是如何出版的。“完全一样”不是问题。您对编译和压缩的期望是“异常的”。为什么必须执行它们才能让您感到快乐,而您只需要简单的部署

  • 显然,如何保护代码是您应该手动执行的一些额外工作,例如调优NTFS权限等等。没有什么比这更自动的了


  • 转换为web应用程序是VS@james-这也是一个恶魔从地狱私生子的特点,导致了很多痛苦和咬牙切齿,应该从记忆中删除,因为所有的东西不神圣和不洁@james,我认为@code Poter的意思是web项目应该作为web应用程序项目开始,而web站点功能应该完全删除。转换过程并不总是理想的。我曾与CodePoter合作过,他不幸地将一个非常庞大而笨拙的web“站点”转换为一个应用程序。他基本上是从头开始创建一个新项目,然后手动添加文件。在许多情况下,他必须手动创建设计器文件,并将代码从标记页面移动到其中。那里已经有很多.NET1.1工件了,这没有什么帮助。我刚刚完成了转换。。。。是的,真的很糟糕。这是值得做的,因为很多好的特性在我的web项目中是不可用的(例如debug/releaseweb.config)。