Чем ASP.NET файлы проекта MVC должны быть сохранены в репозитории?

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

Сериализация добавляет ограничения и потенциальные проблемы, так как совместимость структуры не обеспечивается. Хорошо, что это прочь по умолчанию.

я должен признать, что видел очень немного нетривиальных классов, где стандартная сериализация делает то, к чему я хочу ее. Особенно в случае сложных структур данных. Так усилие Вы потратили бы создание класса serializble правильно карлики стоимость добавления интерфейса.

5
задан ekad 24 April 2017 в 13:26
поделиться

6 ответов

Базовый файл csproj должен фиксироваться всякий раз, когда вы добавляете или удаляете что-то из проекта, чтобы гарантировать, что в проекте есть все правильные файлы. Решение (sln) можно использовать по той же причине, хотя я также видел, как оно обходилось без него. Естественно, вы также захотите зафиксировать любые файлы cs, поскольку они являются основным объектом внимания.

Файлы DLL должны быть зафиксированы только в том случае, если они являются внешними ссылками - внутренние библиотеки DLL вашего проекта можно игнорировать, поскольку они будут построены каждым компьютером по очереди. Вы также хотите избегать файлов .user как ненужных. Игнорируйте папки bin и obj для каждого каталога, когда дело доходит до коммитов.

4
ответ дан 14 December 2019 в 08:56
поделиться

Вы действительно не должны проверять что-либо, что проект может создать сам. Так что нет необходимости проверять папки bin или obj или что-то в этом роде, вы также хотите игнорировать любые файлы пользовательских настроек.

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

1
ответ дан 14 December 2019 в 08:56
поделиться

Я не работаю в asp.net, поэтому отвечу в общем. У нас есть репозиторий кода подрывной деятельности для нашей системы версий, cvs тоже работает хорошо. Разработчики извлекают весь обновленный код из репозитория, выполняют работу, проверяют, работает ли он правильно, выполняют еще одно получение, повторно компилируют, тестируют и затем фиксируют изменения исходного кода в репозитории. На регулярной основе у вас может быть инструмент или вы можете вручную собрать приложение из репозитория и развернуть его на тестовом сервере. Скомпилированный код не должен помещаться в репозиторий.

-Jay

1
ответ дан 14 December 2019 в 08:56
поделиться

Мы используем следующую структуру проекта в SVN (но это применимо и к CVS).

+ tags
+ branches
> trunk
  + build (build scripts)
  + lib (external libraries)
  > src (source code)    
   >> Organization.App (solution name)
     >> Organization.App.Core (code library)
        + Config
        > Domain
          > Model
          > Persistence
          > Queries
          > Services
        > Persistence
        > Services
     >> Organization.App.Web (mvc web app)
        > Assets
          + Images
          + Scripts
          + Stylesheets
        + Controllers
        + Views
        + ViewModels

Мы помещаем все наши зависимости сторонних производителей в папку lib. Включая MVC, который можно развернуть. См. Эту статью Фила Хаака . Поэтому, когда к сети приходит новый разработчик, все, что ему нужно сделать, - проверить ствол, и у него должно быть все необходимое для работы. Использование CI-сервера несложно, потому что все зависимости проектов инкапсулированы в папку lib, и все проекты Visual Studio ссылаются на эти библиотеки DLL в этой папке lib.

Есть ли в этом смысл?

Не обращайте внимания на основная папка и веб-папка. Именно так мы структурируем наши проекты в рамках решения. Но это совсем другой разговор . :)

1
ответ дан 14 December 2019 в 08:56
поделиться

Мы храним все, кроме папок BIN / OBJ в SVN. У нас есть все сторонние библиотеки в отдельной папке, из которой они сделаны.

Kindness,

Dan

0
ответ дан 14 December 2019 в 08:56
поделиться

Если вы используете инструмент управления изменениями базы данных, такой как Tarantino , то вам также нужно будет проверить скрипты изменения SQL и / или заполнить скрипты. У нас есть папка в нашем решении «Core», где мы храним их, то есть «Core / Database / Updates». Мы используем SQL Compare для поиска изменений в нашей базе данных, затем мы проверяем эти сценарии изменения SQL, чтобы другие разработчики могли просто запускать их локально. У нас есть небольшая настройка задачи для вызова Тарантино для синхронизации других сред сборки (Dev, QA) и запуска любых новых сценариев изменений.

0
ответ дан 14 December 2019 в 08:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: