C#学习教程:T4获取解决方案的当前工作目录T4源代码在一种沙箱中生成,当前工作目录在ProgramFiles中的VisualStudio10目录中。有没有一种方法可以相对地引用T4文件的解决方案,这样它就不会破坏构建,或者在没有相同文件结构的其他人的盒子上工作?谢谢您必须像这样将特定于主机的属性设置为true:ITextTemplatingEngineHost接口将为您提供所需的内容。我不相信有一种方法可以引用该解决方案,但您可以获取*.tt文件所在的路径,并从那里获取其他文件。要从相对于文本模板的位置加载文件,您可以使用:this.Host.ResolvePath("relative/path.txt")这是我用来获取解决方案的基本目录的方法:publicstringGetSolutionDirectory(){varserviceProvider=this.HostasIServiceProvider;vardte=serviceProvider.GetService(typeof(EnvDTE.DTE))asEnvDTE.DTE;返回System.IO.Path.GetDirectoryName(dte.Solution.FullName);以下是如何使用T4模板中提供的逻辑JCallico创建XML文件:MySubfolderMyFile.exe"/>XML属性“filePath”将等于VisualStudio的解决方案目录以及“MySubfolderMyFile.exe”。以上就是C#学习教程:T4获取解决方案当前工作目录的所有内容分享,如果对你有用,需要了解更多C#学习教程,希望大家多多关注。文章收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除,如需转载请注明出处:
