2011-10-20 2 views
0

J'ai une petite application qui utilise la même API que les exemples powerscript pour mettre à niveau une base de données à partir d'une application dacpac (data-tier). Pour le faire fonctionner sur un serveur Windows 2008 sans aucun outil SQL Server installé, j'ai dû refermer beaucoup de dll et choisir "Copier Local" sur ces dll pour les obtenir dans mon dossier de compilation. Cela fonctionne bien.Utilisation de l'API de pack DAC (application de couche de données) sur Azure

Je souhaite maintenant appeler la même API à partir d'un rôle de travail sur Azure. Mais quand je le lance (avec les mêmes dll) Je reçois

« System.IO.FileLoadException. Impossible de charger le fichier ou l'assemblage « Microsoft.SqlServer.BatchParser.dll » ou une de ses dépendances L'application n'a pas pu démarrer car sa configuration côte à côte est incorrecte. S'il vous plaît voir le journal des événements »

Il fonctionne très bien quand je déploie à l'émulateur local.

Je n'ai pas encore été en mesure d'obtenir quelque chose de significatif à partir des journaux (je ne sais pas si mes diagnostics sont corrects).

Le fichier mentionné est dans le package publié. J'ai trouvé 2 versions du fichier mais l'autre version est en 32 bits et je (c'est compréhensible) obtenir une exception BadFormat si je l'essaie.

Voici les dll que je fais référence:

ADODB, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
Microsoft.Build.Utilities.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL 
Microsoft.CSharp 
Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL 
Microsoft.ReportViewer.ProcessingObjectModel, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL 
Microsoft.SqlServer.BatchParser 
Microsoft.SqlServer.BatchParserClient 
Microsoft.SqlServer.ConnectionInfo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL 
Microsoft.SqlServer.Diagnostics.STrace, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL 
Microsoft.SqlServer.Dmf, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL 
Microsoft.SqlServer.Management.Dac, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL 
Microsoft.SqlServer.Management.DacEnum, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL 
Microsoft.SqlServer.Management.DacSerialization, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL 
Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL 
Microsoft.SqlServer.Management.SmoMetadataProvider, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL 
Microsoft.SqlServer.Management.SqlParser, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL 
Microsoft.SqlServer.ServiceBrokerEnum, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL 
Microsoft.SqlServer.Smo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL 
Microsoft.SqlServer.SqlClrProvider, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL 
Microsoft.SqlServer.SqlEnum, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL 
Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
Microsoft.WindowsAzure.ServiceRuntime 
Microsoft.WindowsAzure.StorageClient, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
System 
System.Configuration 
System.Core 
System.Data 
System.Data.DataSetExtensions 
System.Data.Entity.Design 
System.Deployment 
System.Drawing 
System.Windows.Forms 
System.Xml 
System.Xml.Linq 
WindowsBase 

Toutes les idées WHT je suis absent?

Répondre

0

Je pense que j'ai craqué cela. J'ai activé l'accès à distance à la machine virtuelle, ce qui signifie que j'avais accès aux événements de l'application. Après l'exécution de mon rôle de travailleur, j'ai reçu une erreur dans le visualiseur d'événements indiquant qu'il ne trouvait pas microsoft.vc80.crt.

Je n'ai pas trouvé une dll par ce nom mais j'ai trouvé

microsoft.vc80.crt.manifest 

dans ce dossier:

C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Update Cache\KB2528583\ServicePack\x64 

Il pointe vers 3 autres dll que j'ai également inclus:

msvcr80.dll 
msvcp80.dll 
msvcm80.dll 

J'ai seulement exécuté la mise à jour une fois jusqu'ici, mais j'espère que c'est fait maintenant. Si je trouve/corrige d'autres problèmes, je vais mettre à jour ici.

Espérons que cela aide quelqu'un.

Questions connexes