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

时间:2009-01-26 19:44:10

标签: c# visual-studio prebuild

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

编辑:这是对Help with one step build all projects + installer (.NET + WiX)的跟进,因为我没有真正得到答案,看看我是否可以回答一个更简单的问题。

2 个答案:

答案 0 :(得分:8)

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

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

    echo $(SolutionDir) > SolutionDirFile.txt

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

答案 1 :(得分:0)

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