.net - studio - ¿Por qué el paquete de implementación de mi buildserver tiene ensamblajes adicionales?
error al restaurar el paquete revirtiendo los cambios del paquete (4)
Después de investigar un poco más, me di cuenta de que el servidor de compilación tenía el .Net framework activado, pero no el Framework SDK. Después de instalar el SDK en el servidor de compilación, los ensamblajes adicionales ya no se agregaron.
Tengo un paquete de implementación asp.net mvc que intento construir con team city. El paquete se genera sin problemas, pero la carpeta bin contiene archivos que no son necesarios (y hacen que el sitio falle cuando está presente).
Si construyo el mismo paquete desde Visual Studio, los archivos adicionales no están presentes.
Los archivos adicionales son:
Microsoft.VisualBasic.Activities.Compiler.dll
mscorlib.dll
normidna.nlp
normnfc.nlp
normnfd.nlp
normnfkc.nlp
normnfkd.nlp
System.Data.dll
System.Data.OracleClient.dll
System.EnterpriseServices.dll
System.EnterpriseServices.Wrapper.dll
System.Transactions.dll
¿Qué puedo hacer para evitar que estos ensamblados adicionales y archivos .nlp se incluyan en el paquete?
ACTUALIZAR
Después de investigar un poco más en los archivos de registro, descubrí que la tarea de compilación _CopyFilesMarkedCopyLocal
está copiando los archivos en el directorio bin. Lo curioso es que los ensamblajes no están marcados como copia local.
En un servidor de compilación que ejecutaba Windows Server 2012 R2, tuve un problema similar: la siguiente tarea consistía en copiar archivos no deseados en el directorio de salida:
[06:47:07]_CopyFilesMarkedCopyLocal
[06:47:07]Copy
[...]
[06:47:07]Copying file from "C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll" to "bin/Release/mscorlib.dll".
[06:47:07]Copying file from "C:/Windows/Microsoft.NET/Framework/v4.0.30319/normidna.nlp" to "bin/Release/normidna.nlp".
[06:47:07]Copying file from "C:/Windows/Microsoft.NET/Framework/v4.0.30319/normnfc.nlp" to "bin/Release/normnfc.nlp".
[06:47:07]Copying file from "C:/Windows/Microsoft.NET/Framework/v4.0.30319/normnfd.nlp" to "bin/Release/normnfd.nlp".
[06:47:07]Copying file from "C:/Windows/Microsoft.NET/Framework/v4.0.30319/normnfkc.nlp" to "bin/Release/normnfkc.nlp".
[06:47:07]Copying file from "C:/Windows/Microsoft.NET/Framework/v4.0.30319/normnfkd.nlp" to "bin/Release/normnfkd.nlp".
Similar a la respuesta de @ilivewithian faltaba un paquete: Microsoft .NET Framework 4.5.2 Developer Pack para Windows Vista SP2, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2008 SP2 Windows Server 2008 R2 SP1, Windows Server 2012 y Windows Server 2012 R2 .
Experimenté el mismo problema en un servidor de compilación que only had 4.5.1 sdk
instalado.
Fijar
Agregue el parámetro p:FrameworkPathOverride
a msbuild
. Por ejemplo:
msbuild /p:FrameworkPathOverride="C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.1"
La solución más fácil fue copiar mis C: / Archivos de programa locales (x86) / Reference Assemblies / Microsoft / Framework.NETFramework hasta el servidor de compilación