1

是否可以从 ASP.NET MVC 4.0 Web 应用程序的MSDeploy生成包中提取版本号?

一种动态确定版本号的方法是使用反射,如下所示,但这需要应用程序已安装在服务器上。

System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()

我需要直接从 MSDeploy 包中获取版本号。

谢谢,
F。

4

1 回答 1

0

这是可能的。部署包只是一个 zip 文件。如果您使用的是 .NET 4.5,则可以使用 .NET 解压缩文件ZipFile。然后,您需要查看 archive.xml 文件以在 Content 文件夹中找到正确的路径(替换C:\C_C),或者您可以遍历 Content 文件夹。

从那里,您应该能够找到您的 bin 文件夹以及您的程序集。您可以通过以下方式获取版本:

var assembly = AssemblyName.GetAssemblyName("{path to assembly}");
var assemblyVersion = assembly.Version;
于 2013-12-09T14:18:45.553 回答