标签: t4

T4 引擎无法识别当前项目名称空间

我正在使用 VS 2010 (C#) T4 模板来生成代码。

我需要迭代项目中的所有类型,列出实体 poco 类并生成包装器。问题是,项目名称空间未被识别。

这是解决方案的结构:

namespace MySolution.Entities
{
    public class Employee { ... }
    public class Department { ... }
}

// Seperate project referenceing MySolution.Entities.
namespace MySolution.Database
{
    public partial class Context { ... }

    // Should generate Context.cs as a partial class with after iterating Syste.Types available in MySolution.Entities.
    Context.tt
}
Run Code Online (Sandbox Code Playgroud)

这是文本模板:

<#@ template language="C#" #>
<#@ Output Extension=".cs" #>

namespace MySolution.Database
{
    public partial class Context:
        System.Data.Entity.DbContext
    {
<#
System.Type [] types …
Run Code Online (Sandbox Code Playgroud)

.net c# t4 self-reference entity-framework-5

2
推荐指数
1
解决办法
3585
查看次数

Host.ResolvePath和相对路径

我已将我的t4模板放在CodeTemplate\MyTemplateFolder文件夹中,但无法从那里开始工作.

问题是我需要访问位于项目根目录中的名为models的文件夹.

即:

Project Root Folder\CodeTemplates\MyTemplateFolder\MyTemplate.tt
Run Code Online (Sandbox Code Playgroud)

我需要访问以下文件:

Project Root Folder\Models
Run Code Online (Sandbox Code Playgroud)

但是,我无法弄清楚如何使用我的模板this.Host.ResolvePath中的Models文件夹.

有什么建议?

用于:

var relativePathModelsFolder = @"..\..\Models";
var path = this.Host.ResolvePath(relativePathModelsFolder);
Run Code Online (Sandbox Code Playgroud)

给我一个根文件夹的绝对路径.... \模型卡在最后.

我似乎无法遍历到根目录,然后进入我的Models文件夹.

t4

2
推荐指数
1
解决办法
4278
查看次数

TextTransform.exe 错误代码 123

在 VS2015 版本的 TextTransform.exe 上下文中,错误代码 123 是什么意思?

它在开发人员命令提示符中使用相同的命令运行良好,但在预构建脚本中失败(在 VS2013 中运行良好)。

不幸的是,错误代码没有给我任何东西。

"%CommonProgramFiles(x86)%\Microsoft Shared\TextTemplating\14.0\texttransform.exe" -out "C:\[REMOVEDPATH]\Generated\Content.cs" -P "%PROGRAMFILES(x86)%\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1" "C:\[REMOVEDPATH]\Generated\Content.tt"
Run Code Online (Sandbox Code Playgroud)

唯一需要注意的一点是 VS2015 以管理员身份运行,特别是因为目标路径在没有管理员访问权限的情况下不可写。

t4 visual-studio-2015

2
推荐指数
1
解决办法
1376
查看次数

使用 Json.NET 从 JSON 文件获取数据并使用 T4 文本模板创建 c-sharp 文件

我想以Subject.cs编程方式创建文件。为此,当我在互联网上搜索时,我看到可以使用T4文本模板。现在,我想使用 Json.NET 从 JSON 文件获取数据并将Root值设置为属性,如下所示:

namespace Library
{
    class Subject
    {
        public static int forensic_medicine { get; set; }
        public static int family_law { get; set; }
        public static int constitutional_law { get; set; }
        public static int obligations_law { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是 JSON 文件内容:

{
    "Subjects": [
        {
            "Root": "forensic_medicine",
            "Name": "Forensic Medicine",
            "StrID": "FMD",
            "RowID": 746
        },
        {
            "Root": "family_law",
            "Name": "Family Law",
            "StrID": "FML",
            "RowID": 1239
        },
        {
            "Root": "constitutional_law", …
Run Code Online (Sandbox Code Playgroud)

c# t4 json json.net

2
推荐指数
1
解决办法
2917
查看次数

如何使用 Cake 脚本执行 t4 模板

T4 template使用来执行的 API/语法是什么Cake build?任何示例代码都会有所帮助。

是否应使用StartProcess API 来调用texttransform.exe或是否有任何其他可用的 API。

c# t4 continuous-integration cakebuild

2
推荐指数
1
解决办法
286
查看次数

实体框架上下文模拟/假

它应该解析EDMX文件并创建一个moch/fake用于单元测试.最简单的集成是使用我们在VS IDE中已经拥有的T4.

有人在网上看过吗?
或者也许是自己写的?
或者OSS正在进行中吗?

任何人?

t4 unit-testing entity-framework mocking

1
推荐指数
1
解决办法
2102
查看次数

Visual Studio 2010 SP1和有形T4 Editor Pro v1.950崩溃

错误说

我在C:\ Users \\ AppData\Local\assembly\dl3\4WT9GZ6E.WD1\0CNLWRJ6.ODR\3f01d2db\26ba7213_ebf0cb01中缺少ActiproSoftware.CSharpHostLanguage.xml,并在打开.tt或.ttinclude文件时崩溃.

我有visual studio 2010 sp1和windows 7 sp1 x86(32bit).

有形T4编辑器是v1.950.

欢迎任何建议.谢谢.

更新:最新版本1.962修复此问题.

t4 visual-studio-2010 windows-7 visual-studio-2010-sp1 tangible-t4-editor

1
推荐指数
1
解决办法
337
查看次数

EF 4.x dbcontext生成器在执行时失败

我有vs2010,从nuget安装了Entity Framework 4.3.1,从Microsoft安装了EF 4.x DbContext Generator。我创建一个项目,然后尝试添加新的EF 4.x DbContext Generator项目,但出现以下错误。有谁知道如何解决这个问题?

错误1运行转换:System.Reflection.TargetInvocationException:调用的目标引发了异常。---> System.IO.FileNotFoundException:无法在Microsoft.VisualStudio.TextTemplating.VSHost.TextTemplatingService.ResolvePath(String path)上的Microsoft.VisualStudio.TextTemplating.VSHost.TextTemplatingService.ResolvePath(String path)上找到文件---结束内部异常堆栈跟踪--在System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo方法,对象目标,Object []中的System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo方法,对象目标,Object []参数,SignatureStruct&sig,MethodAttributes方法属性,RuntimeType类型所有者) ]参数,签名sig,MethodAttributes,methodAttributes,
在Microsoft.VisualStudio.TextTemplatingE78BCB29E8D7A2F9432A449161229C3F.GeneratedTextTransformation.DynamicHost.ResolvePath(字符串路径)在Microsoft.VisualStudio.TextTemplatingE78BCB29E8D7A2F9432A449161229C3F.GeneratedTextTransformation.MetadataLoader.TryCreateEdmItemCollection(字符串SOURCEPATH,字符串[] referenceSchemas,EdmItemCollection&edmItemCollection)在Microsoft.VisualStudio.TextTemplatingE78BCB29E8D7A2F9432A449161229C3F.GeneratedTextTransformation.MetadataLoader .Microsoft.VisualStudio.TextStudio3229F2E23BC.291TMicrosoft.VisualStudio.TextTemplating.TransformationRunner.RunTransformation上的GeneratedTextTransformation.TransformText()(TemplateProcessingSession会话,字符串源,ITextTemplatingEngineHost主机,字符串和结果)1 1

t4 entity-framework

1
推荐指数
1
解决办法
2221
查看次数

如何在运行转换时调试System.NullReferenceException?

我试图使用T4 Text Templating生成代码,但在运行脚本时,我收到以下错误:

Running transformation: System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.VisualStudio.TextTemplatingB0A58A4C85EA3D7032675015C6052C89.GeneratedTextTransformation.TransformText()
   at Microsoft.VisualStudio.TextTemplating.TransformationRunner.RunTransformation(TemplateProcessingSession session, String source, ITextTemplatingEngineHost host, String& result)

由于我不熟悉T4,我不确定在哪里寻找解决此问题的方法.

.net t4 visual-studio

1
推荐指数
2
解决办法
4569
查看次数

在T4脚手架中读取的MVC 4自定义数据注释

您是否可以为模型创建自定义数据注释,可以在T4模板中读取类似于View的属性.是否读取了文件夹?我想添加数据注释参数,比如我将构建视图的Scaffold.

谢谢

asp.net-mvc t4 customization data-annotations

1
推荐指数
1
解决办法
2493
查看次数