我的Linq to SQL DBML文件有一个奇怪的错误,当我保存它时,而不是保存到现有的设计器文件,创建一个重复的文件。
这会导致整个地方出错,因为file.designer.cs和file1.designer.cs中的数据上下文构造函数之间存在歧义
有没有办法修复此错误,不涉及删除和重新创建dmbl文件。因为这个错误发生在我的所有DBML文件中,其中一些文件相当大。
上图显示了我遇到的问题。
答案 0 :(得分:28)
不确定是什么导致了这一点(但Marc关于文件是只读还是未检出的建议似乎可能),但该关联在.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
。
答案 1 :(得分:3)
我有同样的问题。事实证明版本控制正在保存文件。构建过程无法重新创建文件,因此它会创建一个新文件。由于此文件是自动生成的,因此可以安全地从版本控制中删除。我正在使用git进行版本控制。