Как отменить одержимость Visual Studio воссозданием.дизайнер.cs-файл моего DBML?


Это сводит меня с ума. Я думаю, что это из-за некоторого несоответствия строк подключения в приложении (с помощью MVC), но Visual Studio постоянно принимает мои .дизайнер.cs-файл и воссоздает его, добавляя "1" в конце (или 2, если он уже сделал это раньше!). Мой вопрос двоякий: есть ли способ остановить VS от этого? Но что еще более важно: как я могу вручную вернуть его к оригиналу .дизайнер.cs или это невозможно? Я пытаюсь удалить новый, который он создал (потому что я сохраняю получение повторяющихся ошибок построения определений), и он не будет автоматически ассоциироваться с исходным в структуре файлов DBML в обозревателе решений.

Есть ли у кого-нибудь решение для этого безумия?
1 2

1 ответ:

Не идеальное решение, но обходной путь будет следующим. В Visual Studio перейдите в свойства .dbml-файл и очистите свойство Custom Tool. Это предотвратит запуск автогенератора против DBML и создание файлов конструктора. Конечно, дальнейшие изменения в DBML не будут отражены в файле конструктора.

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

<Compile Include="file.designer.cs" />

И измените его на

<Compile Include="file.designer.cs">
    <DependentUpon>file.dbml</DependentUpon>
</Compile>