T4 Get Current Working Directory of Solution

前端 未结 3 1156
慢半拍i
慢半拍i 2021-02-01 06:20

I am using T4 in Visual Studio 2010, and I want to iterate over the files in my solution, however I have found that T4 source generation works in a kind of a sandbox, and the cu

3条回答
  •  眼角桃花
    2021-02-01 06:50

    You must set the hostspecific attribute to true like so:

    <#@ template language="C#" hostspecific="True" #>
    

    The ITextTemplatingEngineHost interface will give you the information you need.

    <#= this.Host.ResolveParameterValue("-", "-", "projects") #>
    

    I don't believe there is a way to reference the solution, but you can get the path in which your *.tt file is and from there get other files.

    To load a file from a location relative to the text template, you can use this:

    this.Host.ResolvePath("relative/path.txt")
    

提交回复
热议问题