微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何修复Entity Framework 4.1模型模板中丢失的类型/命名空间错误?

如何解决如何修复Entity Framework 4.1模型模板中丢失的类型/命名空间错误?

| 我有一个T4模板为支持我的
.edmx
模型的实体生成C#类。模板以以下标题开头:
<#@ template language=\"C#\" debug=\"false\" hostspecific=\"true\"#>
<#@ include file=\"EF.Utility.CS.ttinclude\"#>
<#@ output extension=\".cs\"#>
尝试构建项目会导致这些错误
error CS0234: The type or namespace name \'Design\' does not exist in the namespace \'System.Data.Entity\'...
error CS0246: The type or namespace name \'EnvDTE\' Could not be found (are you missing a using directive...
error CS0234: The type or namespace name \'VisualStudio\' does not exist in the namespace \'Microsoft\'...
我怎样才能解决这个问题?     

解决方法

        事实证明,基于VS可扩展性线程,问题的原因是 Clarius Visual T4扩展。重置ѭ3中的该节点 归档到
<Compile Include=\"SomeModel.tt\">
  <Generator>TextTemplatingFileGenerator</Generator>
  <LastGenOutput>SomeModel.cs</LastGenOutput>
</Compile>
<None Include=\"SomeModel.tt\">
  <Generator>TextTemplatingFileGenerator</Generator>
  <LastGenOutput>SomeModel.cs</LastGenOutput>
</None>
解决方案是在“ 3”文件中手动将节点更改为“ 6”。改变它 通过Visual Studio属性编辑器返回的
.tt
文件不起作用。 最后,禁用扩展名可以防止这种情况再次发生。     ,        只需在
.tt
文件的开头添加所需的程序集即可;像这样:
<#@ template language=\"C#\" debug=\"false\" hostspecific=\"true\"#>
<#@ assembly name=\"System.Data.Entity\" #>
<#@ assembly name=\"System.Data.Entity.Design\" #>
...
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。