1

背景:

我正在使用 aspnet_compiler.exe 预编译一个 Web 应用程序。一切正常,但很好,但我注意到 AssemblyInfo.vb 中指定的版本号仅适用于 App_Code.dll、App_Browsers.dll 等,但不适用于单个页面程序集。我正在使用 -fixednames

编辑:这是网站而不是网络应用程序

问题:

有没有一种方法可以让版本号向下传播到页面程序集,而无需使用 aspnet_compiler(不是 Web 部署项目或 Web 应用程序)在每个页面上使用 @Page 指令。

编辑:似乎某些页面程序集确实设置了版本号,而另一些则没有。例如:

/Default.aspx(+.vb) -> 编译为 App_Web_default.aspx.cdcab72d.dll(NO 版本号)

/Sites/A/Default.aspx(+.vb) -> 编译为 App_Web_default.aspx.cd795919.dll(没有版本)

/Sites/B/Default.aspx(+.vb) -> 编译为 App_Web_default.aspx.d30819d.dll(没有版本)

情节变厚了

好的,所以忘记上面的所有内容,版本号已传播到所有程序集。问题是只有一些显示在 Windows 资源管理器中(属性对话框和“文件版本”列)。但是如果我这样读,版本就在那里:

private string GetVersionNo(string AssemblyFileName)
{
  AssemblyName an = AssemblyName.GetAssemblyName(AssemblyFileName);
  return an.Version.ToString();
}

有人知道到底发生了什么吗?

4

0 回答 0