Macros Visual Studio T4-使用环境变量包含文件

Macros Visual Studio T4-使用环境变量包含文件,macros,include,environment-variables,t4,Macros,Include,Environment Variables,T4,我设置了一些T4模板,这些模板引用了其他共享T4。一个T4引用另一个T4,如下所示: 这很好,除了MTF必须在操作系统级别定义为一个环境变量之外——我想在解决方案本身的某个地方定义它——或者在解决方案中的每个项目中定义它(如果必须的话)。我试着编辑CSPROJ文件并在下面添加一个条目,但T4引擎似乎没有接收到这一点。我还尝试创建一个C++属性表并将其添加到宏中,但是T4引擎(从C项目中)也看不到。 提前感谢您提供的任何提示 Ray恐怕在当前版本的Visual Studio中无法做到这一点。恐怕

我设置了一些T4模板,这些模板引用了其他共享T4。一个T4引用另一个T4,如下所示:

这很好,除了MTF必须在操作系统级别定义为一个环境变量之外——我想在解决方案本身的某个地方定义它——或者在解决方案中的每个项目中定义它(如果必须的话)。我试着编辑CSPROJ文件并在下面添加一个条目,但T4引擎似乎没有接收到这一点。我还尝试创建一个C++属性表并将其添加到宏中,但是T4引擎(从C项目中)也看不到。 提前感谢您提供的任何提示


Ray

恐怕在当前版本的Visual Studio中无法做到这一点。

恐怕在当前版本的Visual Studio中无法做到这一点。

我自己还没有尝试过,但是在Visual Studio文档中,有一个关于如何在T4包含指令中使用项目属性的说明:

我自己没有尝试过,但是在Visual Studio文档中,有一个关于如何在T4包含指令中使用项目属性的说明:

是%MTF%相对于您的项目/解决方案吗?如果是这样,您可以使用VS宏而不是环境变量,例如$(SolutionDir)等。不幸的是,它不是-我在其他地方使用$(SolutionDir),尽管我不知道这一点,但这是一个很好的提示。在本例中,MTF是对另一个解决方案的引用,其中我保留了公共T4文件,该文件将被多个解决方案引用。您可以将指定的路径放入XML/文本文件中。@vaibhav-感谢您的建议。但是,我相信include指令是在编译时处理的,所以我不相信我可以从表达式生成文件名?是%MTF%相对于您的项目/解决方案吗?如果是这样,您可以使用VS宏而不是环境变量,例如$(SolutionDir)等。不幸的是,它不是-我在其他地方使用$(SolutionDir),尽管我不知道这一点,但这是一个很好的提示。在本例中,MTF是对另一个解决方案的引用,其中我保留了公共T4文件,该文件将被多个解决方案引用。您可以将指定的路径放入XML/文本文件中。@vaibhav-感谢您的建议。但是,我相信include指令是在编译时处理的,所以我不相信我可以从表达式生成文件名?