Как создать приложение .net на удаленном сервере? - PullRequest
0 голосов
/ 15 февраля 2019

Этот вопрос, вероятно, скорее касается того, что я не знаю терминологию, чем что-либо еще.Для справки, я пришел из истории «создать сайт на PHP / WordPress, а затем перетащить файлы на FTP - бум сайт работает»

Я создал приложение .NET, которое работает локально в Visual Studio.Там все хорошо.Он построен с использованием пакета nuget Sitefinity, если это важно.

Я запустил удаленный сервер Windows и настроил IIS через IIS Manager, а также нашел учебник.Я переместил файлы своего приложения (через Git) на этот сервер и указал на мои файлы.Теперь я могу перейти на localhost/SitefinityTest и посмотреть сайт.

За исключением того, что вместо страницы я получаю ошибки.Я не думаю, что это ошибки с приложением (опять же, в VS работает фантастически), но что-то не так с тем, как я это развернул.

Could not load file or assembly 'Telerik.Sitefinity' or one of its dependencies. The system cannot find the file specified.

Первая мысль о том, что чего-то не хватает.На первый взгляд, каталога пакетов просто нет, поэтому я копирую и вставляю его из моего локального каталога в мой сервер.Без изменений.

- 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 и код и на самом деле могу создавать приложения, но у меня нет фундаментального понимания того, как все происходит за кулисами.Если есть какое-то явное неверное предположение, которое я сделал, пожалуйста, дайте мне знать.

Ответы [ 2 ]

0 голосов
/ 17 февраля 2019

Обычно файлы DLL не фиксируются в Git - фиксируется только исходный код.

Вот почему, скорее всего, на вашем сервере папка Bin пуста, поэтому отсутствует ошибка dll.

Вы правы - вам не хватает шага "сборки" здесь.

Если у вас есть Visual Studio на сервере - вы можете создать приложение с ним - которое будет генерировать dll вПапка bin из исходного кода.

Если нет, вы можете вручную скопировать всю папку bin с вашего локального хоста на сервер.

Кстати, мы больше не используем виртуальные машины - мы используем службу приложений Azure.Мы привязываем его к репозиторию github, и когда мы вносим изменения в репозиторий, Azure извлекает последнюю версию из github, создает решение и развертывает сайт.

Мне очень нравится эта опция автоматической сборки.

В вашем случае вам придется выполнить этот шаг вручную - либо собрать на сервере, либо просто скопировать файлы dll самостоятельно.

0 голосов
/ 15 февраля 2019

Я думаю, вы можете попробовать использовать функцию «публикации», встроенную в Visual Studio.Вы должны быть в состоянии указать его на своем сервере.Я не помню, что все вовлечено в процесс, но это работало для меня в прошлом.

Эта статья может помочь.

https://docs.microsoft.com/en-us/dotnet/core/tutorials/publishing-with-visual-studio

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...