【发布时间】:2015-04-02 06:00:37
【问题描述】:
自从我上次使用 T4 已经有一段时间了,这可能是一个愚蠢的问题......
是否可以从模板中引用任意程序集?
例子:
- 我想在 Project X 中使用一个类
- Project X.Test 引用 X 并包含 .tt 文件
我认为以下应该可以工作
<#@ assembly name="X" #>
但保存时出现以下错误:
编译转换:元数据 找不到文件“X”
我做错了什么?
(如果有人感兴趣:我正在尝试根据从 X 获得的一些元数据自动生成特定类型的测试)
更新:看起来 VS2010 已经破坏了我所期望的程序集解析行为。来自http://blogs.msdn.com/b/garethj/archive/2010/04/15/what-s-new-in-t4-in-visual-studio-2010.aspx:
T4的组装集完全 与包含分离 项目的装配集要避免 拿起错误的组件时 项目针对以前的框架 版本。项目程序集没有 不再用于解析模板 汇编指令。
除了使用绝对路径之外,还有其他解决方法吗?
【问题讨论】:
-
您是否尝试过使用该程序集的完全限定路径?文本模板工具是一个外部工具,可能不知道你已经加载到 VS 中的项目。
-
这行得通,但我需要它在多台机器上运行,这些机器可能有不同的路径。
标签: visual-studio-2010 t4