我正在尝试在T4模板中使用我自己项目中的类型,所以我想使用VolatileAssembly指令,所以我不必继续重新启动Visual Studio:
<#@ VolatileAssembly processor="T4Toolbox.VolatileAssemblyProcessor" name="C:\Josh\Archimetrics\Archimetrics.Consulting\Suntex\SuntexFirstInMathTools\bin\Debug\SuntexFirstInMathTools.exe" #>
但我一直收到以下错误:
A processor named 'T4Toolbox.VolatileAssemblyProcessor' could not be found for the directive named 'VolatileAssembly'. The transformation will not be run.
The following Exception was thrown:
System.IO.FileNotFoundException: Failed to resolve type for directive processor
T4Toolbox.VolatileAssemblyProcessor.
at Microsoft.VisualStudio.TextTemplating.VSHost.TextTemplatingService.ResolveDirectiveProcessor(String processorName)
at Microsoft.VisualStudio.TextTemplating.Engine.ProcessCustomDirectives(ITextTemplatingEngineHost host, TemplateProcessingSession session, IEnumerable`1 directivesToBeProcessed)
我已经安装了T4工具箱并重新启动,但由于某种原因它无法识别VolatileAssemblyProcessor。
我该如何解决这个问题?
答案 0 :(得分:2)
它们比模板更难使用,因为它们生成的代码 默认情况下对您是不可见的。另外,VolatileAssembly是 不再需要因为在Visual Studio 2012中的程序集 指令在加载程序集之前复制程序集文件 - the developers page -
所以我认为你不再需要这个指令了。只有使用<#@ assembly name="YourPathOrName" #>
才能解决问题。