2017-07-24 1 views
3

Ich habe dieses Problem bei mehreren Fragen gesehen, alle Lösungen funktionieren gut, wenn Sie lokal erstellen. Ich habe derzeit meinen Code auf visualstudio.com, und ich habe einen automatischen Build, wenn ich Code von meinem Computer aus drehe.Microsoft.SqlServer.Types Version 10 oder höher konnte nicht in Visual Studio Online gefunden werden

Ich weiß, dass Sie ein nuget Paket installieren (was ich habe), und installieren Sie die Typen auf den folgenden Link:

http://go.microsoft.com/fwlink/?LinkID=239644&clcid=0x409

Das Problem ist, ich weiß nicht, wie das installieren von mein Browser, da er in der Cloud erstellt wird.

Fehle ich etwas?

Antwort

0

Ich habe das Problem mit Unterstützung von Microsoft bearbeitet.

SqlProviderServices.SqlServerTypesAssemblyName = "Microsoft.SqlServer.Types, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"; 

Das kam aus einer Antwort

Stackoverflow, aber ich habe den Link verloren:

Es war eigentlich ganz einfach, ich habe die folgende Codezeile an den Konstruktor des Objekts Context hinzugefügt. Wenn jemand weiß, woher das kommt, können Sie den Link kommentieren oder als Duplikat markieren.

0

Visual Studio Onlines Mit dem TFS-Buildserver können Sie nichts installieren. Sie müssen es mit einem NuGet-Paket tun.

Fügen Sie die SQL CLR-Typen-Abhängigkeit zu Ihrer Lösung als NuGet-Paket hinzu.

enter image description here

diese Weise kann der Build-Server die NuGet Paket vor dem Build wiederherzustellen:

enter image description here

Wenn das nicht funktioniert, versuchen Sie die Microsoft.SqlServer.Types.Unoffical Paket .

Fehlgeschlagen, dass ich denke, dass Sie dies als einen Supportfall mit Microsoft ansprechen sollten.

+0

Das inoffizielle Paket entweder nicht funktioniert hat. Ich habe ein Ticket mit Microsoft eingereicht, danke – RandomStranger

0

Ich habe festgestellt, dass dies ein Problem mit On-Premises TFS und VSTS ist.

es so aussehen Allgemeines in VS:

Folder tree of visual studio

Auch wenn es den Ordner im Verzeichnis ist lokal erstellt es nicht auf dem Build-Server.

Als Erstes muss sichergestellt werden, dass die Datei .dll auf den Inhalt festgelegt und in die Quellcodeverwaltung einbezogen wird (sie werden standardmäßig standardmäßig ausgeschlossen). Dies sollte bedeuten, dass sie es in das Ausgabeverzeichnis bringen. Da es 32- und 64-Bit-DLLs mit demselben Namen gibt, können Sie sich nicht darauf verlassen, welche Version den tatsächlichen bin-Ordner erstellt. Sie müssen die gleiche Ordnerstruktur beibehalten.

Sobald Sie das Build-Ausgabeverzeichnis überprüft haben, können Sie SqlServerTypes.Utilities.LoadNativeAssemblies() mit dem korrekten relativen Pfad aufrufen.

In einer Instanz referenzierte ich sie in einem Projekt, das nicht das veröffentlichte Projekt war (ein Datenzugriffsprojekt) und die einzige Möglichkeit, es zum Laufen zu bringen, war das Hinzufügen des NuGet-Pakets zum Top-Level veröffentlichten Webprojekt.

0

Nachdem alle tipps ich im Internet gefunden habe für mich nicht funktioniert, möchte ich Dokument die Lösung tun, die für mich gearbeitet:

ich das Nuget Paket installiert und erstellt die in app/web folgende umleiten. config:

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
    <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" /> 
    </dependentAssembly> 
</assemblyBinding>  

fand ich die notwendigen Infos hier: https://github.com/aspnet/EntityFramework6/issues/244

Verwandte Themen