Переход на новый формат VS2017 .csproj с миграциями

#visual-studio-2017

#visual-studio-2017

Вопрос:

Я конвертирую файлы моего проекта в этот новый и блестящий формат проекта VS 2017. Я начинаю с замены содержимого на это

 <Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>library</OutputType>
    <TargetFramework>net472</TargetFramework>
  </PropertyGroup>
</Project>
  

Затем я медленно добавляю сборки и пакеты Nuget, и все это компилируется. Но как справиться со всеми моими миграциями? У меня их около 400. Нужно ли мне добавлять все это в качестве встроенного ресурса?

Ответ №1:

Тебе не нужно ничего делать.

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

И, конечно, если вы попытаетесь добавить миграцию в проект с новым форматом, вы увидите, что в файле csproj ничего не меняется.

Ответ №2:

Что ж. На самом деле вам нужно кое-что сделать, чтобы заставить работать такие команды, как Update-Database или DbMigrator class. По крайней мере, это то, что мне нужно было сделать для моего проекта EF6.

 <PropertyGroup>
 <EmbeddedResourceUseDependentUponConvention>true</EmbeddedResourceUseDependentUponConvention>
</PropertyGroup>
  

и затем, чтобы это заработало, вам необходимо обновить Entity Framework как минимум до версии 6.3