Cuando intento compilar el mismo proyecto usando MSBuild 3.0 o 3.5 me sale un montón de errores en una class en concreto:
Código:
Microsoft (R) Build Engine, versión 3.5.30729.5420
[Microsoft .NET Framework, versión 2.0.50727.5420]
Copyright (C) Microsoft Corporation 2007. Reservados todos los derechos.
Build started 12/05/2013 22:50:43.
Project "C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\Virtuosa Game Packer.sln" on node 0 (default targets).
Building solution configuration "Debug|Any CPU".
Project "C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\Virtuosa Game Packer.sln" (1) is building "C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\Extractor.vbproj" (2) on node 0 (default targets).
Project file contains ToolsVersion="4.0", which is not supported by this version of MSBuild. Treating the project as if it had ToolsVersion="3.5".
CoreResGen:
No hay ningún recurso obsoleto con respecto a sus archivos de código fuente. Se omitirá la generación de recursos.
C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(24): error BC30124: La propiedad sin un especificador 'ReadOnly' o 'WriteOnly' debe proporcionar una instrucci¾n 'Get' y una instrucci¾n 'Set'.
C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(25): error BC30634: La instrucci¾n no puede aparecer dentro del cuerpo de una propiedad. Se supone el final de la propiedad.
C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(25): error BC30025: Falta 'End Property' en Property.
C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(57): error BC32035: El especificador de atributo no es una instrucci¾n completa. Utilice una continuaci¾n de lÝnea para aplicar el atributo a la instrucci¾n siguiente.
C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(61): error BC30456: 'Key' no es un miembro de 'Virtuosa_Game_Packer.Shortcut.HotKeyEventArgs'.
Done Building Project "C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\Extractor.vbproj" (default targets) -- FAILED.
Done Building Project "C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\Virtuosa Game Packer.sln" (default targets) -- FAILED.
Build FAILED.
"C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\Virtuosa Game Packer.sln" (default target) (1) ->
"C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\Extractor.vbproj" (default target) (2) ->
(CoreCompile target) ->
C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(24): error BC30124: La propiedad sin un especificador 'ReadOnly' o 'WriteOnly' debe proporcionar una instrucci¾n 'Get' y una instrucci¾n 'Set'.
C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(25): error BC30634: La instrucci¾n no puede aparecer dentro del cuerpo de una propiedad. Se supone el final de la propiedad.
C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(25): error BC30025: Falta 'End Property' en Property.
C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(57): error BC32035: El especificador de atributo no es una instrucci¾n completa. Utilice una continuaci¾n de lÝnea para aplicar el atributo a la instrucci¾n siguiente.
C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(61): error BC30456: 'Key' no es un miembro de 'Virtuosa_Game_Packer.Shortcut.HotKeyEventArgs'.
0 Warning(s)
5 Error(s)
Time Elapsed 00:00:00.25
Es imprescindible para mi poder compilar dicho proyecto usando MSBuild.
¿Posible solución 1?: Un parámetro o algo parecido para usar en el msbuild para omitir errores? ¿o talvez crear una taréa de MSBuild? (Por más que he buscado información sobre las msbuild tasks no sé donde coño se debe hacer/colocar/crear ni como usar el archivo xml, y todo lo que encuentro es código para C#, tampoco sé si una task de msbuild me sirve para esto).
¿Posible solución 2?: Que alguna persona amable me ayude a corregir las líneas de la Class donde el MSBuild me marca ridículos errores de compilación.
Esta es la class:
Código
#Region " GlobalHotkeys Class " Class Shortcut Inherits NativeWindow Implements IDisposable Protected Declare Function UnregisterHotKey Lib "user32.dll" (ByVal handle As IntPtr, ByVal id As Integer) As Boolean Protected Declare Function RegisterHotKey Lib "user32.dll" (ByVal handle As IntPtr, ByVal id As Integer, ByVal modifier As Integer, ByVal vk As Integer) As Boolean Event Press(ByVal sender As Object, ByVal e As HotKeyEventArgs) Protected EventArgs As HotKeyEventArgs, ID As Integer Enum Modifier As Integer None = 0 Alt = 1 Ctrl = 2 Shift = 4 End Enum Class HotKeyEventArgs Inherits EventArgs Property Modifier As Shortcut.Modifier Property Key As Keys End Class Class RegisteredException Inherits Exception Protected Const s As String = "Shortcut combination is in use." Sub New() MyBase.New(s) End Sub End Class Private disposed As Boolean Protected Overridable Sub Dispose(ByVal disposing As Boolean) If Not disposed Then UnregisterHotKey(Handle, ID) disposed = True End Sub Protected Overrides Sub Finalize() Dispose(False) MyBase.Finalize() End Sub Sub Dispose() Implements IDisposable.Dispose Dispose(True) GC.SuppressFinalize(Me) End Sub <DebuggerStepperBoundary()> Sub New(ByVal modifier As Modifier, ByVal key As Keys) CreateHandle(New CreateParams) ID = GetHashCode() EventArgs = New HotKeyEventArgs With {.Key = key, .Modifier = modifier} If Not RegisterHotKey(Handle, ID, modifier, key) Then Throw New RegisteredException End Sub Shared Function Create(ByVal modifier As Modifier, ByVal key As Keys) As Shortcut Return New Shortcut(modifier, key) End Function Protected Sub New() End Sub Protected Overrides Sub WndProc(ByRef m As Message) Select Case m.Msg Case 786 RaiseEvent Press(Me, EventArgs) Case Else MyBase.WndProc(m) End Select End Sub End Class #End Region
Gracias por leer.