我們的經理想要顯示應用程序生成日期的圖標上的工具提示。我希望在構建時有一個被賦予正確值的變量,所以我不必記住每次編譯時都要更改它。有沒有辦法在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