7

我在 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" />

如果不使用根路径,有什么方法可以在网站项目的上下文中进行这项工作?

4

4 回答 4

6

T4 模板中的程序集引用需要 GAC 或绝对路径。

但是,您可以使用来自已知路径的相对路径:

例如:

$(SolutionDir)\..\..\packages\Pluralizer.0.3.0.1\lib\net40\Pluralize.dll
于 2015-02-09T09:19:05.047 回答
1

运行 T4 时是否存在 dll?

我使用 MVC 4 应用程序模板创建 MvcApplication1。

创建 App_Code 目录并创建 tt.

<#@ 程序集名称="$(ProjectDir)\bin\MvcApplication1.dll" #>

构建项目并运行它成功转换

但是清理构建并运行它结果失败。

因为,clean 删除了构建输出 dll,dll 在指定路径上不存在。

于 2013-07-25T15:22:23.900 回答
0

我认为您可以使用 envDTE 找到它(此处为示例导航项目以找到 bin 目录。

于 2013-07-25T14:38:06.130 回答
0

在定义相对路径时尝试使用斜杠而不是反斜杠:

<#@ Assembly Name="../../bin/My.dll" />
于 2013-07-25T14:42:04.410 回答