启用t4模板查看相对文件夹

本文关键字:相对 文件夹 t4 启用 | 更新日期: 2023-09-27 17:51:21

在我的t4模板文件中,我有以下行,在构建模式下肯定会中断。

& lt; # @组装name = " $ (SolutionDir) ' MYNAMESPACE.MYLIBRARY ' bin '调试' MYLIBRARY.dll"> #>

为了从我的asp.net web项目中运行这个模板,我必须在上面的路径中硬编码bin'debug

原来我有下面这行

& lt; # @组装name = " $ (SolutionDir) ' MYNAMESPACE.MYLIBRARY ' $ (OutDir) ' MYLIBRARY.dll "

<标题>>

但是(OutDir)不起作用,因为我的web项目outpath是bin' folder,它一直在bin folder中寻找MYLIBRARY.DLL,而不是bin'debug folder。,我得到以下错误:

编译转换:元数据文件mynamspace .mylibrary'bin'mylibrary.dll'无法找到

我不能将我的web项目输出路径属性更新为bin'debug,而不是bin',因为这样web项目就不会像文章中解释的那样运行。

问. .我怎么能摆脱硬编码bin'调试路径在t4模板文件??

启用t4模板查看相对文件夹

无论您的项目或构建配置如何,您都可以使用ProjectDir和OutputPath变量来完成此操作。

<#@ assembly name="$(ProjectDir)$(OutputPath)MyLibrary.dll" #>

我更新了t4模板文件中的第一行如下:

& lt; # @组装name = " $ (SolutionDir) ' MyNameSpace.MyLibrary ' bin ' $ (ConfigurationName) ' MyLibrary.dll "

<标题>>

因为,t4模板仅在我在调试模式下开发软件时执行,并且我使用它来生成类,甚至可以将其硬编码为bin'debug。一旦使用t4模板生成了类,它就签入并准备部署到构建机器上。