2016-09-05 4 views
0

Je vois ces erreurs pendant les builds.Comment éviter les caractères non valides dans les fichiers XML en utilisant OctoPack pendant les générations VSTS?

C:\Program Files (x86)\Microsoft WCF Data Services\5.6.4\bin\.NETFramework\Microsoft.Data.Services.Client.xml' contains invalid characters. 
C:\Program Files (x86)\Microsoft WCF Data Services\5.6.4\bin\.NETFramework\Microsoft.Data.OData.xml' contains invalid characters 
C:\Program Files (x86)\Microsoft WCF Data Services\5.6.4\bin\.NETFramework\Microsoft.Data.Edm.xml' contains invalid characters. 
C:\Program Files (x86)\Microsoft WCF Data Services\5.6.4\bin\.NETFramework\System.Spatial.xml' contains invalid characters. 

Je ne les obtenir localement quand je lance MsBuild avec les mêmes arguements, et je peux même courir MSBuild sur l'agent de construction privée très bien aussi.

J'ai d'autres projets utilisant OctoPack très bien, et en utilisant ces paquets. Je vais les vérifier très attentivement car les autres fonctionnent très bien.

Répondre

0

Le problème est résolu en mettant à niveau les paquetages affectés de 5.6.4 à 5.7.0 (dernière version en cours). J'ai passé plusieurs bonnes heures à essayer de comprendre cela. J'ai pensé que je pourrais sauver le temps des autres en publiant une question que j'aurais posée, et la réponse aussi.

Assurez-vous également que le App.config/web.config de votre cible principale a également réoriente de liaison:

<dependentAssembly> 
     <assemblyIdentity name="Microsoft.Data.Services.Client" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-5.7.0.0" newVersion="5.7.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Data.OData" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-5.7.0.0" newVersion="5.7.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Data.Edm" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-5.7.0.0" newVersion="5.7.0.0" /> 
     </dependentAssembly> 

Vous pouvez avoir dans un projet de service/utilité au sein de votre solution, mais si elles sont pas présent dans le fichier de configuration principal de votre « déployable » cible, ils seront ignorés et vous pouvez toujours chercher des références à

C:\Program Files (x86)\Microsoft WCF Data Services\5.6.4 

versions des DLL, et non les versions emballés NuGet vous l'intention, à partir de votre " packages "dossier".