我在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" />
如果不使用root路径,有没有办法在网站项目的上下文中使用它?
答案 0 :(得分:5)
T4模板中的装配参考需要GAC或绝对路径。
但是,您可以使用已知路径的相对路径:
例如:
$(SolutionDir)\..\..\packages\Pluralizer.0.3.0.1\lib\net40\Pluralize.dll
答案 1 :(得分:1)
在运行T4时是否存在?
我使用MVC 4应用程序模板创建MvcApplication1。
创建App_Code目录并创建tt。
&lt;#@ assembly name =“$(ProjectDir)\ bin \ MvcApplication1.dll”#&gt;
构建项目并使其成功运行到trasnform
但清理构建并运行结果失败。
因为,clean删除了构建输出dll,dll不存在于指定路径上。
答案 2 :(得分:0)
我认为你可以使用envDTE(Example here找到它来导航项目以找到bin目录。
答案 3 :(得分:0)
在定义相对路径时尝试使用斜杠而不是反斜杠:
<#@ Assembly Name="../../bin/My.dll" />