T4 无法引用自己项目的程序集
T4 can't reference own project's assembly
在T4中,我只想引用我自己项目的程序集。按照在线说明,我尝试了以下操作:
<#@ assembly name="$(TargetDir)" #>
其次是:
<#@ import namespace="LazyDeploy" #>
供您参考,这是我的解决方案结构:
除了 HTMLFactory
命名空间,所有内容都在 LazyDeploy
命名空间范围内。我也尝试将模板放入解决方案的根目录中,但无济于事。错误如下:
An exception was thrown while trying to compile the transformation code. The following Exception was thrown:
System.IO.FileNotFoundException: Could not find a part of the path 'c:\users\kmalton\documents\visual studio 2017\Projects\LazyDeploy\LazyDeploy\bin\Debug\'.
File name: 'c:\users\kmalton\documents\visual studio 2017\Projects\LazyDeploy\LazyDeploy\bin\Debug\' ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'c:\users\kmalton\documents\visual studio 2017\Projects\LazyDeploy\LazyDeploy\bin\Debug\'.
我不确定为什么会出现这种情况,因为目录存在,即我可以直接从堆栈跟踪剪切并粘贴到资源管理器中并导航到那里。
解决方案是直接引用 dll 作为程序集声明的一部分:
<#@ assembly name="$(TargetDir)LazyDeploy.dll" #>
在T4中,我只想引用我自己项目的程序集。按照在线说明,我尝试了以下操作:
<#@ assembly name="$(TargetDir)" #>
其次是:
<#@ import namespace="LazyDeploy" #>
供您参考,这是我的解决方案结构:
除了 HTMLFactory
命名空间,所有内容都在 LazyDeploy
命名空间范围内。我也尝试将模板放入解决方案的根目录中,但无济于事。错误如下:
An exception was thrown while trying to compile the transformation code. The following Exception was thrown:
System.IO.FileNotFoundException: Could not find a part of the path 'c:\users\kmalton\documents\visual studio 2017\Projects\LazyDeploy\LazyDeploy\bin\Debug\'.
File name: 'c:\users\kmalton\documents\visual studio 2017\Projects\LazyDeploy\LazyDeploy\bin\Debug\' ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'c:\users\kmalton\documents\visual studio 2017\Projects\LazyDeploy\LazyDeploy\bin\Debug\'.
我不确定为什么会出现这种情况,因为目录存在,即我可以直接从堆栈跟踪剪切并粘贴到资源管理器中并导航到那里。
解决方案是直接引用 dll 作为程序集声明的一部分:
<#@ assembly name="$(TargetDir)LazyDeploy.dll" #>