.net visual Warum verfügt das Bereitstellungspaket von meinem Buildserver über zusätzliche Assemblys?



provisioning package windows 10 (4)

Ich habe ein asp.net mvc-Bereitstellungspaket, das ich versuche mit Team City zu bauen. Das Paket wird ohne Probleme erstellt, aber der Ordner bin enthält eine Datei, die nicht benötigt wird (und dazu führt, dass die Site fehlschlägt, wenn sie vorhanden ist).

Wenn ich das gleiche Paket von Visual Studio baue, sind die zusätzlichen Dateien nicht vorhanden.

Die zusätzlichen Dateien sind:

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

Was kann ich tun, um zu verhindern, dass diese zusätzlichen Assemblys und .nlp-Dateien in das Paket aufgenommen werden?

AKTUALISIEREN

Nachdem ich ein wenig mehr durch die Log-Dateien gegraben habe, habe ich festgestellt, dass die _CopyFilesMarkedCopyLocal die Dateien in das Verzeichnis bin kopiert. Das Seltsame ist, dass die Assemblys nicht als lokale Kopie markiert sind.


Auf einem Build-Server, auf dem Windows Server 2012 R2 ausgeführt wird , trat ein ähnliches Problem auf - der folgende Task kopierte unerwünschte Dateien in das Ausgabeverzeichnis:

[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".

Ähnlich wie bei der Antwort von @ilivewithian fehlte ein Paket: Microsoft .NET Framework 4.5.2 Entwicklerpaket für Windows Vista SP2, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2008 SP2 Windows Server 2008 R2 SP1, Windows Server 2012 und Windows Server 2012 R2 .


Nach einigen weiteren Durchgängen bemerkte ich, dass auf dem Build-Server das .NET-Framework, nicht aber das Framework-SDK installiert war. Nach der Installation des SDK auf dem Build-Server wurden die zusätzlichen Assemblys nicht mehr hinzugefügt.


Die einfachste Lösung bestand darin, meinen lokalen C: \ Programme (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework auf den Build-Server zu kopieren


Ich hatte das gleiche Problem auf einem Build-Server, der only had 4.5.1 sdk installiert hatte.

Fix

Fügen Sie den Parameter p:FrameworkPathOverride zu msbuild . Beispielsweise:

msbuild /p:FrameworkPathOverride="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1"




teamcity