我有一个带有实体对象T4模板的实体框架模型。出于某种原因,现在每次我更改模型(比如模型名称是Model.edmx和模板Model.tt)时,它都用于更新Model.cs文件,但现在它正在创建Model1.cs并离开Model.cs不变。
为什么?它在哪里定义要更新的文件或生成?
感谢。
答案 0 :(得分:3)
当输出目录中已存在名为“Model.cs”的文件时,有时会发生这种情况。然后Visual Studio生成另一个名为“Model1.cs”的文件。解决这个问题的方法是卸载项目文件(右键单击项目)并编辑它(再次右键单击)。寻找这样的东西:
<ItemGroup>
<Compile Include="Model1.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Model.tt</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="Model.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>Model1.cs</LastGenOutput>
</None>
</ItemGroup>
将“Model1.cs”替换为“Model.cs”
<ItemGroup>
<Compile Include="Model.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Model.tt</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="Model.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>Model.cs</LastGenOutput>
</None>
</ItemGroup>
重新加载项目(右键单击)