Linq to SQL создает дубликаты дизайнерских файлов - PullRequest
14 голосов
/ 19 октября 2011

У меня странная ошибка с моими файлами Linq to SQL DBML, когда я сохраняю ее, вместо сохранения в существующем файле конструктора создается дубликат файла.

Это вызывает ошибки повсеместно, так как между конструктором контекста данных внутри file.designer.cs и file1.designer.cs

существует неоднозначность

Есть ли способ исправить эту ошибку, которая не включает удаление и воссоздание файлов dmbl. поскольку эта ошибка возникает во всех моих файлах DBML, некоторые из которых довольно велики.

enter image description here

На изображении выше показана проблема, с которой я столкнулся.

Ответы [ 2 ]

29 голосов
/ 20 октября 2011

Не уверен, что могло вызвать это (но предложение Марка о том, что файл только для чтения или не извлечен, кажется возможным), но связь описана в файле .proj. Если вы откроете этот файл в текстовом редакторе, вы должны увидеть где-то что-то вроде:

<ItemGroup>
<None Include="Minerva.dbml">
  <Generator>MSLinqToSQLGenerator</Generator>
  <LastGenOutput>Minerva1.designer.cs</LastGenOutput>
  <SubType>Designer</SubType>
</None>

Заменить Minerva1.designer.cs на Minerva.designer.cs. Теперь вы можете удалить или исключить файл Minerva1.designer.cs из вашего проекта, и при следующем запуске генератора он будет перезаписывать Minerva.designer.cs, как и ожидалось.

3 голосов
/ 22 апреля 2015

У меня была такая же проблема. Оказывается, контроль версий держал файл. Процесс сборки не может воссоздать файл, поэтому он создает новый. Поскольку этот файл создается автоматически, его можно безопасно удалить из системы контроля версий. Я использую git для контроля версий.

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