2011-09-12 11 views
2

エンティティオブジェクトT4テンプレートを使用したEntity Frameworkモデルがあります。何らかの理由で、モデルを変更するたびに(モデル名がModel.edmxとTemplate.ttという)、Model.csファイルを更新するために使用されましたが、今はModel1.csを作成してModel.csを残しています手つかず。Entity Framework T4テンプレートの奇妙なバグ - 新しいコードファイルの作成

なぜですか?更新するファイルを定義する場所はどこですか?

ありがとうございました。

+0

があなたの.ttファイルのような文字列が含まれていない "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> 

リロードプロジェクト(右クリック)で "Model1.cs" を置き換えます。このような何かを探してください'fileManager.StartNewFile(entity.Name +" .cs ");'? – abatishchev

+0

私はCtrl + Fテキスト "fileManager.StartNewFile"と何も戻って来ません... –

+0

.ttファイルのフォルダ内の '.cs'のすべてのエントリを見つけてみてください – abatishchev

答えて

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> 

する

関連する問題