elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  MSBuild no me quiere compilar una class
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: MSBuild no me quiere compilar una class  (Leído 3,089 veces)
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
MSBuild no me quiere compilar una class
« en: 12 Mayo 2013, 23:25 pm »

Tengo un proyecto que se compila perféctamente en VS2012, sin NINGÚN error ni aviso.

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
  1.    #Region " GlobalHotkeys Class "
  2.  
  3.    Class Shortcut
  4.  
  5.        Inherits NativeWindow
  6.        Implements IDisposable
  7.  
  8.        Protected Declare Function UnregisterHotKey Lib "user32.dll" (ByVal handle As IntPtr, ByVal id As Integer) As Boolean
  9.        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
  10.  
  11.        Event Press(ByVal sender As Object, ByVal e As HotKeyEventArgs)
  12.        Protected EventArgs As HotKeyEventArgs, ID As Integer
  13.  
  14.        Enum Modifier As Integer
  15.            None = 0
  16.            Alt = 1
  17.            Ctrl = 2
  18.            Shift = 4
  19.        End Enum
  20.  
  21.        Class HotKeyEventArgs
  22.  
  23.            Inherits EventArgs
  24.            Property Modifier As Shortcut.Modifier
  25.            Property Key As Keys
  26.  
  27.        End Class
  28.  
  29.        Class RegisteredException
  30.  
  31.            Inherits Exception
  32.            Protected Const s As String = "Shortcut combination is in use."
  33.  
  34.            Sub New()
  35.                MyBase.New(s)
  36.            End Sub
  37.  
  38.        End Class
  39.  
  40.        Private disposed As Boolean
  41.  
  42.        Protected Overridable Sub Dispose(ByVal disposing As Boolean)
  43.            If Not disposed Then UnregisterHotKey(Handle, ID)
  44.            disposed = True
  45.        End Sub
  46.  
  47.        Protected Overrides Sub Finalize()
  48.            Dispose(False)
  49.            MyBase.Finalize()
  50.        End Sub
  51.  
  52.        Sub Dispose() Implements IDisposable.Dispose
  53.            Dispose(True)
  54.            GC.SuppressFinalize(Me)
  55.        End Sub
  56.  
  57.        <DebuggerStepperBoundary()>
  58.        Sub New(ByVal modifier As Modifier, ByVal key As Keys)
  59.            CreateHandle(New CreateParams)
  60.            ID = GetHashCode()
  61.            EventArgs = New HotKeyEventArgs With {.Key = key, .Modifier = modifier}
  62.            If Not RegisterHotKey(Handle, ID, modifier, key) Then Throw New RegisteredException
  63.        End Sub
  64.  
  65.        Shared Function Create(ByVal modifier As Modifier, ByVal key As Keys) As Shortcut
  66.            Return New Shortcut(modifier, key)
  67.        End Function
  68.  
  69.        Protected Sub New()
  70.        End Sub
  71.  
  72.        Protected Overrides Sub WndProc(ByRef m As Message)
  73.            Select Case m.Msg
  74.                Case 786
  75.                    RaiseEvent Press(Me, EventArgs)
  76.                Case Else
  77.                    MyBase.WndProc(m)
  78.            End Select
  79.        End Sub
  80.  
  81.    End Class
  82.  
  83.    #End Region
  84.  

Gracias por leer.


En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: MSBuild no me quiere compilar una class
« Respuesta #1 en: 16 Mayo 2013, 05:19 am »

¿Estas utilizando el build que corresponde? :P
Claramente en este ejemplo, no son iguales :)
Código
  1. Microsoft Windows [Versión 6.1.7601]
  2. Copyright (c) 2009 Microsoft Corporation. Reservados todos los derechos.
  3.  
  4. C:\Users\Usuario>C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe
  5. Microsoft (R) Build Engine, versión 3.5.30729.5420
  6. [Microsoft .NET Framework, versión 2.0.50727.5466]
  7. Copyright (C) Microsoft Corporation 2007. Reservados todos los derechos.
  8.  
  9. MSBUILD : error MSB1003: Especifique un archivo de proyecto o de solución. El directorio de trabajo actual no contiene un archivo de proyecto ni de solución.
  10.  
  11. C:\Users\Usuario>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
  12. Microsoft (R) Build Engine version 4.0.30319.17929
  13. [Microsoft .NET Framework, version 4.0.30319.18047]
  14. Copyright (C) Microsoft Corporation. All rights reserved.
  15.  
  16. MSBUILD : error MSB1003: Specify a project or solution file. The current working directory does not contain a project or solution file.
  17.  
  18. C:\Users\Usuario>


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: MSBuild no me quiere compilar una class
« Respuesta #2 en: 16 Mayo 2013, 08:17 am »

¿Estas utilizando el build que corresponde? :P

Si si Gracias Novlucker,  esto ya lo solucioné hace varios días usando el msbuild 4.0

Lo que no entiendo, es si mi proyecto apunta al FW3.5, ¿porque debo usar el msbuild 4.0 para compilarlo?, pero bueno.

un saludo!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines