是否可以从 ASP.NET MVC 4.0 Web 应用程序的MSDeploy生成包中提取版本号?
一种动态确定版本号的方法是使用反射,如下所示,但这需要应用程序已安装在服务器上。
System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()
我需要直接从 MSDeploy 包中获取版本号。
谢谢,
F。
是否可以从 ASP.NET MVC 4.0 Web 应用程序的MSDeploy生成包中提取版本号?
一种动态确定版本号的方法是使用反射,如下所示,但这需要应用程序已安装在服务器上。
System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()
我需要直接从 MSDeploy 包中获取版本号。
谢谢,
F。
这是可能的。部署包只是一个 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;