2010-04-28 16 views
95

¿Alguien consigue que las aplicaciones de .NET 4.0 se compilen en un servidor de CI sin instalar Visual Studio 2010 en un servidor de CI?.NET 4.0 problemas de compilación en el servidor de CI

No existe SDK para .NET 4.0. Han instalado .NET 4.0 en el servidor CI. Msbuild.exe trabaja para proyectos sencillos y dar la siguiente advertencia:

(GetReferenceAssemblyPaths target) -> C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(847,9): warning MSB3644: The reference assemblies for framework ".NETFramework,Version=v4.0" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend.

+1

¿Cómo puedo hacer que esto sea un error fatal en lugar de una advertencia? Está oculto en nuestro registro de compilación y en su lugar falla más adelante con un mensaje críptico sobre mscorlib.dll –

Respuesta

125

No es necesario instalar VS más, se puede instalar el "Microsoft Windows SDK para Windows 7 y .NET Framework 4" ahora. otra

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b

+43

La instalación predeterminada es de 1,7 GB, pero la mayoría de estos archivos son innecesarios. Si elimina todo lo que no sea .NET Development> Intellisense y los ensambles de referencia que aún le proporcionarán el paquete de orientación de .NET 4 que necesita (aproximadamente 450 MB). –

+1

Es posible que también desee comprobar .NET Development> Tools, ya que eso traerá varias utilidades como sn.exe que son útiles para tratar con asambleas firmadas. – Mykro

+0

He descargado el instalador, y cuando lo ejecuté, decía que ya tenía .net 4 instalado, pero el Intellisense y los ensamblajes de referencia no estaban marcados. Comprobarlo e instalar esos archivos me pareció solucionar el problema. Lo extraño es que esta versión de CI ha estado funcionando durante meses, y hoy comenzó a generar este error. – Carl

10

alternativa: sin necesidad de instalar SDK 4.0 Net o vs 2010

Copia la carpeta de conjuntos de referencia de su máquina dev para construir servidor (190 MB).

uso msbuild -p: opción FrameworkPathOverride a punto para hacer referencia a la carpeta asambleas

la ubicación ensamblados de referencia:

C: \ Archivos de programa (x86) \ Referencia Asambleas \ Microsoft \ Framework \ .NETFramework \ v4 0.0 o C: \ archivos de programa \ conjuntos de referencia \ Microsoft \ Framework \ .NETFramework \ v4.0

encontró esto desde:

.NET 4.0 build server reference assemblies warnings MSB3644

Si obtiene este error: "No se encontró Microsoft.WebApplication.targets" - sólo tienes que copiar el objetivo de la máquina dev https://stackoverflow.com/a/5344246/423356

si MVC3 no está instalado en el servidor de compilación; "agregar ensamblajes desplegables" al proyecto de mvc http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

Si tiene un error al compilar el proyecto MSTest sin instalar sdk o visual studio; Hay varias publicaciones en el blog sobre esto, para mal, la solución es demasiado compleja para mí. Uso NUnit en lugar de MSTest

+0

Dado que mi servidor de 2012 no me dejaba instalar .Net 4 porque el instalador dijo que hay una versión superior . Hice lo que dijo @kite y lo copié de una PC que tenía cuando se instaló VS 2012. Esto resolvió mis problemas. – chdev77

23

SDK para .NET 4.5 disponible here. El instalador funciona bien con proxy con autorización básica. Sistemas operativos admitidos: Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2

P.S. Mi respuesta es más como un comentario al Jeremy answer, pero no tengo suficiente reputación para comentar las respuestas.

+0

Esto funcionó para mí. – DenNukem

+1

En la página referenciada: "Windows SDK ya no se envía con un entorno de compilación de línea de comandos completo. El SDK de Windows ahora requiere que un compilador y un entorno de compilación se instalen por separado". Así que supongo que esto no es suficiente para ejecutar un servidor de compilación. – Chris

+0

Chris, creo que tienes razón. – priehl

0

Esta página enumera los SDK de .NET para cada versión de Visual Studio. http://blogs.msdn.com/b/dotnet/p/dotnet_sdks.aspx

Para una descarga más pequeña, elija el "paquete de desarrollador" o el "paquete de orientación" en lugar del SDK completo de Windows.

Cuestiones relacionadas