Могу ли я внести прямые изменения во Front-End в asp.net core 2.1 MVC, без повторной публикации решения - PullRequest
0 голосов
/ 25 октября 2018

Проект, над которым я работаю, создан в ASP.NET Core 2.1, и мне нужно внести небольшие изменения в интерфейс, прямо на сервере, где живет приложение.Моя проблема здесь в том, что в последней версии ядра .net, представления после публикации, собраны в одной ведьме Views.dll не редактируется.Опубликованная версия на сервере немного устарела, и в самом проекте есть некоторые основные изменения, и они еще не завершены, и я не могу перестроить и сделать ее новую опубликованную версию, но из-за некоторых демонстрационных целей клиенту нужны некоторыепростые изменения на переднем конце.

Если кто-то сталкивался с такой же проблемой и имеет решение для этого, пожалуйста, поделитесь.

1 Ответ

0 голосов
/ 25 октября 2018

Здесь есть ряд немых вопросов.Во-первых, вся ваша методология разработки должна измениться.Если вы не используете систему контроля версий, вам следует начать немедленно.Вы можете создать бесплатную учетную запись DevOps Azure (ранее VSTS) и создавать там частные удаленные репозитории Git.Github также является опцией, но только публичные репозитории бесплатны;вам нужен платный аккаунт для создания частных репо.Хотя есть и другие варианты выбора системы контроля версий, Git, безусловно, является наиболее используемым и наиболее дружественным.

После того, как вы применили контроль версий, вы должны следовать принципу, что вы не загрязняете основную ветку.Основная ветвь вашего репозитория всегда должна содержать нетронутую копию вашего кода, которая может быть развернута в любое время.Для текущей работы вы создаете ветку, а затем работаете над этой веткой.Это позволяет вносить и фиксировать изменения, не затрагивая развертываемую копию вашего кода.Если бы вы работали в ветке в этом случае, у вас не было бы проблем с развертыванием демо.Вы просто передадите свою текущую работу в свою ветку, переключитесь на master, опубликуете, а затем снова переключитесь на свою ветку, чтобы продолжить работу.

Когда вы закончите любую новую функциональность или измените свою работу, вы должнызатем создайте так называемый запрос на извлечение.Запрос на извлечение эффективно объединяет ваш код с главной ветвью предварительным способом, позволяя выполнить автоматическую сборку для него, чтобы убедиться, что код в главной машине все еще будет правильно компилироваться с этим новым кодом, примененным к нему.Когда сборка проходит, запрос на извлечение может быть объединен с главным, а ветвь, в которой вы работали, может быть удалена.Ополаскивайте и повторяйте.

Теперь процесс извлечения запросов немного сложен, особенно если вы являетесь единственным разработчиком для кода.Технически вы можете просто слить ветку прямо в мастер, когда закончите.Тем не менее, я рекомендую вам по-прежнему использовать запросы извлечения, особенно в сочетании с автоматизированными сборками, которые также можно легко настроить в DevOps Azure.

Длинно и коротко, лучшее решение вашей проблемыздесь, чтобы убедиться, что это не проблема в первую очередь.Наличие контроля версий сделает это за вас, а также предоставит множество других преимуществ.

Тем не менее, можно отключить прекомпиляцию представлений, что позволит вам затем изменять представления на своем месте.опубликованное приложение.Вам просто нужно отредактировать файл csproj и добавить в одну из групп элементов следующее:

<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>

Однако это отрицательно скажется на производительности вашего веб-приложения.Кроме того, изменение действующего сайта на месте - это очень плохая форма, и это может привести к катастрофе.Я до сих пор настоятельно советую вам оставить компиляцию представления на месте и перейти к управлению версиями.

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