网站项目中具有相对路径的T4汇编指令
本文关键字:T4 汇编 指令 路径 相对 项目 网站 | 更新日期: 2023-09-27 18:24:51
我在Visual Studio中有一个网站项目,我正试图引用该网站bin目录中的一些程序集。
到目前为止,根路径是唯一有效的路径:
<#@ Assembly Name="C:'Code'Web Solution'Website'bin'My.dll" />
其他人提到使用msbuild变量,但这对我不起作用:
<#@ Assembly Name="$(SolutionDir)Website'bin'My.dll" />
我很确定相对路径是不起作用的(我的tt文件在App_Code的子文件夹中):
<#@ Assembly Name="..'..'bin'My.dll" />
在不使用根路径的情况下,有没有任何方法可以在网站项目的背景下实现这一点?
GAC或绝对路径是T4模板中程序集引用所必需的。
但是,您可以使用已知路径的相对路径:
例如:
$(SolutionDir)'..'..'packages'Pluralizer.0.3.0.1'lib'net40'Pluralize.dll
运行T4时是否存在dll?
我使用MVC 4应用程序模板创建MvcApplication1。
创建App_Code目录并创建tt.
<#@assembly name="$(ProjectDir)''bin''MvcApplication1.dll"#>
构建项目并成功运行以传递信息
但是清理构建并运行它会失败。
因为,clean会删除生成输出dll,指定路径上不存在dll。
我认为您可以使用envDTE找到它(这里的示例用于导航项目以找到bin目录。
在定义相对路径时尝试使用斜杠而不是反斜杠:
<#@ Assembly Name="../../bin/My.dll" />