从C#中的代码访问prebuild宏(如$(SolutionDir)和$(DevEnvDir)的简单方法是什么?

现在我正在考虑在预构建事件中写入文件的路径,然后在代码中从该文件中读取,但我想知道是否有更简单更优雅的方式。

编辑:这是一个跟进帮助,一步建立所有项目+安装程序(.NET + WiX),因为我没有真正得到答案,看看我是否可以得到一个更简单的问题的答案。

这是一个肮脏的黑客:将它们转储到一个文件。

  1. 向预构建事件添加操作以将解决方案的路径输出到文件:

    echo $(SolutionDir) > SolutionDirFile.txt

  2. 阅读C#代码中的SolutionDirFile.txt文件。

这只是猜测,但我认为在编译时将这些信息输入文件的方法之一是使用类似PostSharp的方法。 基本上,获取某种预处理器来为您获取数据,然后将其嵌入到程序集中。