我们的经理想要显示应用程序生成日期的图标上的工具提示。我希望在构建时有一个被赋予正确值的变量,所以我不必记住每次编译时都要更改它。有没有办法在C#/ .Net中做到这一点?确定编译时的值?
Q
确定编译时的值?
0
A
回答
3
尝试
DateTime buildDate =
new FileInfo(Assembly.GetExecutingAssembly().Location).LastWriteTime;
相对答案:How to put the build date of application somewhere in the application?
0
你如何编译你的解决方案?
如果是Visual Studio的常规编译,您可以设置Pre-Build事件来运行脚本并更改包含日期的代码文件。下面的代码行
1
要回答的一般问题:没有,有没有办法让C#编译器做的不是简单的其它编译时间的任何工作算术数值类型和字符串连接。你无法得到它嵌入当前日期。
然而,对于这个特定的目的,你可以使用杰夫阿特伍德的博客文章“第三条道路”:http://www.codinghorror.com/blog/2005/04/determining-build-date-the-hard-way.html
1
最简单的是从.exe检查文件的日期/时间或.dll本身:
Assembly asm = Assembly.GetExecutingAssembly();
if(asm != null && !string.IsNullOrEmpty(asm.Location)) {
FileInfo info = new FileInfo(asm.Location);
DateTime date = info.CreationTime;
}
0
您可以制作一个在构建时调用的工具,并将当前时间作为常量插入代码文件(如assemblyinfo.cs)中。
另一种方法是从可执行文件中读取文件修改时间。
相关问题
- 1. 如何在编译时确定OS/X上的编译标志?
- 2. 确定LLVM与GCC编译时
- 3. C++编译时间类型确定
- 4. 确定编译时multicatch异常类型
- 5. 确定“编译订单”
- 6. 编译时的整数值
- 7. 确定已编译的Lua的编译器版本
- 8. 运行时间和编译时间确定的区别
- 9. 如何确定MXMLC编译的文件
- 10. Coffeescript,避免编译确定的行
- 11. 确定构建Win32 PE的编译器
- 12. 为什么必须在编译时确定字段成员的初始化值?
- 13. 获得更精确的编译时间
- 14. C#System.Diagnostics.Process:确定C++编译过程耗时多长时间
- 15. Linux/Mac:编译时确定平台的好方法是什么?
- 16. 确定的次数时,输出显示编译和执行
- 17. 确定C++中包含文件的编译时间
- 18. 在编译时确定模板函数结果的类型?
- 19. C#方法的默认值 - 编译错误:编译时常量
- 20. 在Python中构建编译器:确定整数值
- 21. SQL 2005 - 表值函数编译确定,但选择
- 22. C++:确保枚举值是唯一在编译时
- 23. 在Matlab中确定编译器
- 24. Xcode无法确定要编译使用
- 25. C#确定与单声道编译
- 26. 用宏确定GCC编译器
- 27. 编译期间确定目标名称
- 28. 在编译时确保互斥接口?
- 29. 在编译时确保调用方法
- 30. 奇怪的定义与64位编译器编译时出错
Duplicate - http://stackoverflow.com/questions/1600962/c-displaying-the-build-date – 2010-06-23 08:02:54