我正在使用ASP.NET Web窗体(对我来说是双重耻辱)项目的Visual Studio 2012中的Web站点解决方案(不是Web应用程序的耻辱)。 我想在每个构建版本上都有一个自动增量版本,以便我可以在我的代码中检索它并用于静态文件版本控制(主要是css和js)以避免chache它。
我想获得的是像/mydir/mystyle.css?v=buildversionhere
这样的链接我发现了一个很好的代码来检索版本:
Dim web As Assembly = Assembly.GetExecutingAssembly()
Dim webName As AssemblyName = web.GetName()
Dim myVersion As String = webName.Version.ToString()
它有效,问题是我总是得到0.0.0.0。 我需要知道的是如何在每个网站构建上设置自动增量,比如在哪里设置这样的内容:
[assembly:AssemblyFileVersion("1.0.*")]
请记住我在Web站点项目上,而不是在Web应用程序上。 提前致谢
答案 0 :(得分:1)
好吧..经过一些深入研究和一些头脑破碎,因为文件(官方)通常非常肤浅,我找到了一种方法来做到这一点。 因此,如果你有一个WEB SITE项目,并希望在你的网站上添加半自动版本控制(也许是为了你想要的任何用途来检索这个版本,比如取消静态文件缓存附加?v =版本),这里是如何做到的:< / p>
实施例
Imports System.Reflection
<Assembly: AssemblyDescription("desc")>
<Assembly: AssemblyCompany("company")>
<Assembly: AssemblyCopyright("Copyright © 2013 your name")>
<Assembly: AssemblyProduct("asdasd")>
<Assembly: AssemblyVersion("2.0.*")>
然后在你的web.config中(在“configuration”标签之间)插入以下代码:
<system.codedom>
<compilers>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
compilerOptions='"C:\Absolutepath\App_Data\AssemblyInfo.vb"' />
</compilers>
</system.codedom>
包含AssemblyInfo.vb文件的路径。 注意:如果你不想像我一样浪费时间......这条道路必须是绝对的,不可能是相对的。因此,当您在另一台服务器上移动您的网站时,请记得更改它。