В свойствах у версии публикации поставила автоизменение версии, задала ненулевое значение (1.1.12.1), использую для получения версии программы Application.ProductVersion.ToString но получаю все время 1.0.0.0
Что я делаю не так?
My.Application.Info.Version.ToString
String.Format("Версия {0}", My.Application.Info.Version.ToString)
Убить их надо за бету VS2010 ...natcap писал(а):убить их мало, если так...
Убить их надо за бету VS2010 ...
А ты бетой десятки пользовался? Запустив ее про такие пустяки как версия вообще забудешь.Dmitry81 писал(а):а что в 2005й по другому этот момент?
MIT писал(а):Угу. Именно эти данные у меня с успехом и обнулялись при каждой компиляции...
А ты бетой десятки пользовался? Запустив ее про такие пустяки как версия вообще забудешь.
MsgBox("Смени версию, девелопер!")
<Assembly: AssemblyVersionAttribute("4.3.2.4")>
<Assembly: AssemblyFileVersion("1.0.0.1")>
Imports System.IO
Imports System.Text.RegularExpressions
Imports System.Environment
Module Module1
Enum enumVersion As Integer
AssemblyVersion = 1
AssemblyFileVersion = 2
End Enum
Const AssemblyVersionPat$ = _
"<Assembly:\s+AssemblyVersionAttribute" & _
"\(\x22 (?<AsmVer>" & _
"(?<major>\d{1,5}) \. (?<minor>\d{1,5}) \." & _
"(?<build>\d{1,5}) \. (?<revision>\d{1,5})" & _
") \x22\)"
Const AssemblyFileVersionPat$ = _
"<Assembly:\s+AssemblyFileVersion" & _
"\(\x22 (?<AsmVer>" & _
"(?<major>\d{1,5}) \. (?<minor>\d{1,5}) \." & _
"(?<build>\d{1,5}) \. (?<revision>\d{1,5})" & _
") \x22\)"
Dim AsmVerGrp As Group
Dim TxtInfo, AssemblyInfoPath As String
Dim options As RegexOptions = RegexOptions.ExplicitCapture Or _
RegexOptions.IgnoreCase Or _
RegexOptions.IgnorePatternWhitespace
'=======================================================
Sub Main()
Dim Ver As structVersion
AssemblyInfoPath = GetPathToAssemblyInfo()
Ver = GetVersion(enumVersion.AssemblyFileVersion)
If Ver.Revision >= UShort.MaxValue Then
MsgBox("Номер ревизии уже имеет максимальное значение.")
[Exit](-100)
End If
Ver.Revision += 1
TxtInfo = TxtInfo.Remove(AsmVerGrp.Index, AsmVerGrp.Length)
TxtInfo = TxtInfo.Insert(AsmVerGrp.Index, Ver.ToString)
MsgBox(TxtInfo)
My.Computer.FileSystem.WriteAllText(AssemblyInfoPath, TxtInfo, False, System.Text.Encoding.UTF8)
End Sub
'=======================================================
Function GetVersion(ByVal What As enumVersion) As structVersion
Dim Pattern As String = Nothing
Select Case What
Case enumVersion.AssemblyVersion : Pattern = AssemblyVersionPat
Case enumVersion.AssemblyFileVersion : Pattern = AssemblyFileVersionPat$
End Select
If Not File.Exists(AssemblyInfoPath) Then
MsgBox("AssemblyInfo.vb не найден")
[Exit](-100)
End If
TxtInfo = My.Computer.FileSystem.ReadAllText(AssemblyInfoPath)
Dim M As Match = Regex.Match(TxtInfo, Pattern, options)
If Not M.Success Then
MsgBox("Версия сборки не найдена")
[Exit](-100)
End If
Dim Ver As New structVersion
AsmVerGrp = M.Groups("AsmVer")
Ver.Major = UShort.Parse(M.Groups("major").Value)
Ver.Minor = UShort.Parse(M.Groups("minor").Value)
Ver.Build = UShort.Parse(M.Groups("build").Value)
Ver.Revision = UShort.Parse(M.Groups("revision").Value)
Return Ver
End Function
'=======================================================
Function GetCLine() As String
Dim M As Match = Regex.Match(CommandLine, "\.exe\s+(?<CL>.*)", options)
Return M.Groups("CL").Value
End Function
Function GetPathToAssemblyInfo() As String
Return Path.Combine(GetCLine, "My Project\AssemblyInfo.vb")
End Function
'=======================================================
Structure structVersion
Dim Major, Minor, Build, Revision As UShort
Public Overrides Function ToString() As String
Return String.Format("{0}.{1}.{2}.{3}", Major, Minor, Build, Revision)
End Function
End Structure
End Module
Imports System
Imports System.Drawing
Imports System.Windows.Forms
Imports System.Reflection
'+ ещё и Imports System.Runtime.InteropServices если нужно указать Assembly: ComVisible и Assembly: Guid
<Assembly: AssemblyTitle("Title / Заголовок"), _
Assembly: AssemblyDescription("Description / Описание"), _
Assembly: AssemblyCompany("Company / Производитель"), _
Assembly: AssemblyProduct("Product Name / Название продукта"), _
Assembly: AssemblyCopyright("The owner of the copyright / Владелец авторского права"), _
Assembly: AssemblyTrademark("Trademark / Товарный знак"), _
Assembly: CLSCompliant(True), _
Assembly: AssemblyVersion("7.6.16385.09071")>
'Assembly: AssemblyVersion("1.0.*")> строчка по умолчанию
Class Form1
Inherits Form
Dim MenuStrip1 As New MenuStrip
Dim FileToolStripMenuItem As New ToolStripMenuItem
Dim ExitToolStripMenuItem As New ToolStripMenuItem
Dim HelpToolStripMenuItem As New ToolStripMenuItem
Dim AboutToolStripMenuItem As New ToolStripMenuItem
Shared Sub Main()
Application.Run(New Form1)
End Sub
Sub New()
MenuStrip1.Parent = Me
MenuStrip1.Items.AddRange(New ToolStripItem() {FileToolStripMenuItem, HelpToolStripMenuItem})
FileToolStripMenuItem.Text = "Файл"
FileToolStripMenuItem.DropDownItems.AddRange(New ToolStripItem() {ExitToolStripMenuItem})
ExitToolStripMenuItem.Text = "Выход"
AddHandler ExitToolStripMenuItem.Click, AddressOf ExitToolStripMenuItem_Click
HelpToolStripMenuItem.Text = "Помощь"
HelpToolStripMenuItem.DropDownItems.AddRange(New ToolStripItem() {AboutToolStripMenuItem})
AboutToolStripMenuItem.Text = "О программе..."
AddHandler AboutToolStripMenuItem.Click, AddressOf AboutToolStripMenuItem_Click
End Sub
Private Sub ExitToolStripMenuItem_Click(ByVal Obj As Object, ByVal mne As EventArgs)
End
End Sub
Private Sub AboutToolStripMenuItem_Click(ByVal Obj As Object, ByVal mne As EventArgs)
MsgBox(Application.CompanyName & vbNewLine & _
Application.ProductName & vbNewLine & _
Application.ProductVersion, MsgBoxStyle.Information, "Информацыя о программе")
End Sub
End Class
' MsgBox( _
' AssemblyTitleAttribute & vbNewLine & _
' AssemblyDescriptionAttribute & vbNewLine & _
' AssemblyCompanyAttribute & vbNewLine & _
' AssemblyProductAttribute & vbNewLine & _
' AssemblyCopyrightAttribute & vbNewLine & _
'_
' AssemblyTrademarkAttribute & vbNewLine & _
' AssemblyVersionAttribute & vbNewLine, MsgBoxStyle.Information, "Информацыя о программе")
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39