如何在远程服务器上构建.net应用程序?

如何在远程服务器上构建.net应用程序?,.net,iis,windows-server-2012-r2,.net,Iis,Windows Server 2012 R2,这个问题可能更多的是关于我对术语一无所知。作为参考,我的背景是“在PHP/wordpress中构建一个网站,然后将文件拖放到FTP中-boom website works” 我已经构建了一个在VisualStudio中本地运行的.NET应用程序。那里一切都很好。如果这很重要的话,它是使用Sitefinity nuget包构建的 我启动了一个远程windows服务器,并通过IIS管理器和我找到的教程配置了IIS。我将我的应用程序文件(通过Git)移动到此服务器,并将其指向我的文件。我现在可以转到l

这个问题可能更多的是关于我对术语一无所知。作为参考,我的背景是“在PHP/wordpress中构建一个网站,然后将文件拖放到FTP中-boom website works”

我已经构建了一个在VisualStudio中本地运行的.NET应用程序。那里一切都很好。如果这很重要的话,它是使用Sitefinity nuget包构建的

我启动了一个远程windows服务器,并通过IIS管理器和我找到的教程配置了IIS。我将我的应用程序文件(通过Git)移动到此服务器,并将其指向我的文件。我现在可以转到
localhost/SitefinityTest
并查看该站点

除了页面之外,我得到的是错误。我不认为这些是应用程序中的错误(同样,在VS中本地工作非常出色),但我的部署方式有问题

无法加载文件或程序集“Telerik.Sitefinity”或其依赖项之一。系统找不到指定的文件。

我的第一个想法是缺少了一些东西。乍一看,packages目录根本不存在,所以我将其从本地复制粘贴到服务器中。没有变化

- C:\SitefinityTest
  - SitefinityTest (this is where my server is pointing)
    - ... all my files
  - packages (this is the missing directory I manually copied over)
  .gitattributes
  .gitignore
  SitefinityTest.sln
我还认为有一些“构建”步骤,类似于在VS中点击“运行”,在应用程序在该服务器上运行之前需要这样做


再说一次,这不是我的专长。我主要是一名前端开发人员,我了解MVC和代码,并且能够实际构建应用程序,但我对幕后的事情是如何发生的没有任何基本的了解。如果我做出了一些明显错误的假设,请让我知道。

通常DLL文件不会提交到Git-只提交源代码

这就是为什么在您的服务器上,Bin文件夹很可能是空的,因此出现了缺少dll的错误

你是对的-你错过了这里的“构建”步骤

如果服务器上有visual studio,您可以使用它构建应用程序,它将从源代码生成bin文件夹中的DLL

如果没有,您可以手动将整个bin文件夹从本地主机复制到服务器

另一方面,我们不再使用虚拟机——我们使用Azure应用程序服务。我们将其绑定到github repo,当我们推动对repo的更改时,Azure会从github获取最新版本,构建解决方案并部署站点

我非常喜欢这个自动构建选项

在您的情况下,您必须手动执行该步骤-要么在服务器上构建,要么自己复制dll文件。

.NET/C#需要编译和部署。您不能使用PHP方法。