我有一个asp.net Web应用程序,其中有许多版本部署在其网络内的不同客户服务器上。我们有一个做法是让客户在出现问题时发送电子邮件截图。
在旧的asp.net 1.1天中,我们可以使用反射来获取构建DLL的详细信息,并在微妙的位置显示屏幕上的构建日期和编号的信息。
使用.NET 2.0及更高版本,构建模型已更改,并且此机制不再有效。我听说过不同的构建系统,但是我真的在3.5框架上寻找最简单的方法来做这个功能在框架1.1上做的。
>每次执行构建时,更新构建日期/时间,并以某种方式更新构建号
>可以看到构建时间戳和数字,以便在屏幕上显示
>尽可能简单的实现
解决方法
我们正在使用.Net 2.0并将版本信息从程序集中拉出。也许不是很理想,但我们使用描述来存储构建日期。
Assembly assembly = Assembly.GetExecutingAssembly(); string version = assembly.GetName().Version.ToString(); string buildDate = ((AssemblyDescriptionAttribute)Attribute.GetCustomAttribute( assembly,typeof(AssemblyDescriptionAttribute))).Description;
构建过程使用asminfo nant任务生成包含此信息的AssemblyInfo.cs文件。
<asminfo output="Properties\AssemblyInfo.cs" language="CSharp"> <imports> <import namespace="System" /> <import namespace="System.Reflection" /> <import namespace="System.Runtime.CompilerServices" /> <import namespace="System.Runtime.InteropServices" /> </imports> <attributes> <attribute type="AssemblyVersionAttribute" value="${assembly.version}" /> <attribute type="AssemblyInformationalVersionAttribute" value="${assembly.version}" /> <attribute type="AssemblyDescriptionAttribute" value="${datetime::now()}" /> ... </attributes> </asminfo>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。