T4代:VsNamespaceSuggestion()从哪里拉?

Jam*_*ndy 24 c# t4 code-generation entity-framework

有人知道,在.tt文件中,code.VsNamespaceSuggestion()从哪里获取其命名空间?

我遇到了一个问题,我必须更改解决方案的命名空间,我发誓我已经改变了它(文件夹名称,文件名,项目名称,项目属性,程序集信息等).但是当.tt文件运行时,它总是将旧命名空间放回其生成的类中.我被告知它来自EF模型,但我没有看到任何显示命名空间(在设计器/属性中或通过在NotePad中打开.edmx文件).

有什么想法吗?对于hack,我只是在下一行中使用我想要的命名空间覆盖它:

string namespaceName = code.VsNamespaceSuggestion();
namespaceName = "Desired.Namespace"; //HACK:
Run Code Online (Sandbox Code Playgroud)

mat*_*kab 56

刚刚遇到这个问题,我发现的解决方案在这里没有提到,所以我想我会帮助那些在搜索中遇到这篇文章的人.

单击生成实体的代码生成*.tt文件.在属性窗格中,将"自定义工具命名空间"设置为您要生成的命名空间.我是空白,所以T4从默认项目命名空间+文件夹heirarchy生成命名空间.

  • +1很棒的解决方案 应该接受答案 (8认同)