Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von schuppsl
Thema: EFCore Verbindungsprobleme und doppelte Einträge
Am im Forum: Datentechnologien

Ganz herzlichen Dank!

Thema: EFCore Verbindungsprobleme und doppelte Einträge
Am im Forum: Datentechnologien

Und wie könnte diese Lösung ungefähr aussehen?
Stored Procedure, die das vorab prüft?

Thema: EFCore Verbindungsprobleme und doppelte Einträge
Am im Forum: Datentechnologien

Ganz lieben Dank.

Zitat
Naja, Du prüfst offenbar halt nur Client-seitig.

Doch, der würde was bringen, wenn es in der Datenbank erfolgt.
Du prüfst aber eben innerhalb einer potentiellen Race Condition: natürlich ist das dann nicht stabil.

Die Prüfung auf vorhandenen Eintrag wird innerhalb der Using-Anweisung gemacht.
Zitat
Doch, der würde was bringen, wenn es in der Datenbank erfolgt.
Du prüfst aber eben innerhalb einer potentiellen Race Condition: natürlich ist das dann nicht stabil.
So ist es.

Prüfung in der Datenbank? Interessant.

Also ist die Entprellung des Absendebuttons der beste Weg um das Problem zu minimieren.

Thema: EFCore Verbindungsprobleme und doppelte Einträge
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MSSQL

Hallo zusammen.

Eine Webanwendung speichert Formulardaten in einer Datenbank.
Es gibt also einen Senden-Button, welcher eine Backend-Methode zur Speicherung ausführt.

Per EFCore werden die Daten dann gespeichert.
Es scheint nun so, dass unser Datenbankserver ab und zu Probleme damit hat, Verbindungen aufzubauen.

Das daraus resultierende eigentliche Problem gestaltet sich aber folgendermaßen:

Absendebutton wird gedrückt, es wird versucht, die DB - Verbindung herzustellen, was aber in seltenen Fällen 5-8 Sekunden dauern kann.
Der User der Webanwendung wartet kurz und drückt dann nochmals auf Absenden, da es anscheinend beim ersten Mal nicht funktioniert hat.
Somit wird die "hängende" Methode erneut aufgerufen und EFCore versucht nochmals die Verbindung aufzubauen.

Irgendwie, irgendwo laufen also 2 Threads und beide "hängen" beim Verbindungsaufbau. (Using)
Geht es dann, so werden die Formulardaten doppelt in der DB gespeichert, da die Funktion zweimal aufgerufen wurde.

Der Verbindungsaufbau wird per Using gemacht:


using (con= new MyContext())
{
//
}

Und irgendwo hier hängt es dann.
Aus meiner Sicht ist das Problem, dass die Verbindung 2x aufgebaut und die Tabelle 2x in 2 verschiedene DbContext gelesen wird.
Deshalb schlagen Prüfungen, ob der Eintrag schon vorhanden ist (spezielle Kombination aus Key+ weitere Felder) fehl.

Es ist also ein Grundsatzproblem, was ich nicht verstanden habe.

Entprellung des Sendenbuttons und Hinweise in der Webanwendung- Ja.
Prüfung, ob der Eintrag schon in der DB existiert - Ja ( nützt hier aber nichts)
Klärung, warum die DB ab und zu die Verbindung so langsam aufbaut - Ja.

Damit kann man das Problem entschärfen oder umgehen, aber gelöst ist es grundsätzlich nicht.

Parallelitäts Erkennung nützt hier mMn nach auch nicht viel, da in die Tabelle nur geschrieben wird und derselbe Datensatz nicht von mehreren verändert wird.

Was ist hier also das Problem am Design, was habe ich nicht verstanden und wie hieße das "Zauberwort" für so einen Fall?

Ganz herzlichen Dank im Voraus.

Thema: [gelöst]EFCore: Die angegebene Umwandlung ist ungültg
Am im Forum: Datentechnologien

Natürlich hattest Du recht.

Es war in einem Datenbankfeld, welches als smallint, NULL definiert ist.
Aus irgendeinem Grund ist es in meinem Model byte, korrekt ist aber short?.

Da das Feld einfach so herumdümpelt und ich noch nie gebraucht habe, ist mir das bisher noch nie aufgefallen.

Herzlichen Dank an alle für die Mühe und Zeit.

Thema: [gelöst]EFCore: Die angegebene Umwandlung ist ungültg
Am im Forum: Datentechnologien

Hm, wirklich seltsam das ganze.
Der DbContext wurde per Migration, also Datebase First generiert.
Von daher sollten die Datentypen passen.

Thema: [gelöst]EFCore: Die angegebene Umwandlung ist ungültg
Am im Forum: Datentechnologien

Der Datentyp in der Datenbank ist nvarchar(3).

Thema: [gelöst]EFCore: Die angegebene Umwandlung ist ungültg
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MSSQL

Verzweifelt suche ich meinen Fehler.
In einer Webanwendung wird per jQuery-$.Ajax eine Funktion im Webservice aufgerufen.

In dieser wird eine kleine Datenbankabfrage per EF Core getätigt.
Die identische Abfrage habe ich in anderen Funktionen, welches absolut kein Problem darstellt und alles funktioniert wunderbar.
Nur in dieser nicht.
Die Javascript Funktion wird per Button auf der Weboberfläche aufgerufen, wie alle anderen auch:


 var request =
    {
        "method": "POST",
        "url": urlReset,
        "data": {authorisation: "xy" }
    }
    $.ajax(request)
        .done(function (ergebnis) {
            alert("success");
        });

Die Funktion im Backend wird aufgerufen:


[HttpPost]
        public ActionResult ResetWagen(string authorisation)
        {
.......


Dann wird per Using die Abfrage gemacht:


using (var content = new MyContext())
            {
                
                var resData = content.PulverDataMan.AsQueryable().Where(x => x.IWagenNr == "99");

                if (resData.Any())//Datensatz vorhanden?
                {


Per Haltepunkt auf .Any(), Erweiterung auf Ergebinsansicht
steht im Feld "Message" die Meldung:
Fehler
Die angegebene Umwandlung ist ungültg

Jetzt stellt sich mir die Frage: Welche Umwandlung?

IWagenNr ist vom Typ String, siehe DbContext


 [Column("WagenNr")]      
        public string IWagenNr { get; set; }


Also sollte

 x.IWagenNr == "99"
keiner Umwandlung bedürfen.

InnerException gibt es nicht, im Stacktrace steht:

   bei Microsoft.Data.SqlClient.SqlBuffer.get_Byte() in H:\tsaagent2\_work\11\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\SqlBuffer.cs:Zeile 168.
   bei Microsoft.Data.SqlClient.SqlDataReader.GetByte(Int32 i) in H:\tsaagent2\_work\11\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\SqlDataReader.cs:Zeile 1794.
   bei lambda_method(Closure , QueryContext , DbDataReader , ResultContext , Int32[] , ResultCoordinator )
   bei Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.MoveNext()
   bei System.Linq.SystemCore_EnumerableDebugView`1.get_Items()

In Expression.DebugView steht:

.Call System.Linq.Queryable.Where(
    .Constant<Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[Pulverlackierung.Models.ColModel]>(Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[Pulverlackierung.Models.ColModel]),
    '(.Lambda #Lambda1<System.Func`2[Pulverlackierung.Models.ColModel,System.Boolean]>))

.Lambda #Lambda1<System.Func`2[Pulverlackierung.Models.ColModel,System.Boolean]>(Pulverlackierung.Models.ColModel $x) {
    $x.IWagenNr == "99"
}
}

Wie bereits erwähnt ist die exakte Abfrage in anderen Funktionen ebenso vorhanden, ohne Probleme.

Was habe ich übersehen?
Ganz herzlichen Dank im Voraus.

Thema: Newtonsoft.Json ist installiert, wird aber nicht verlinkt?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Guten Abend.

In einigen meiner Projekte (.Net Framework 4.7.2) habe ich Newtonsoft.Json 12.0.0.0 per Nuget installiert.
Die Nuget Package Verwaltung sagt mir auch, dass dieses Paket installiert sei.
In der Verweisliste im Projekt taucht die jedoch nicht auf.

Beim Debuggen des Projektes kommt dann auch File.NotFound Exception.
Verlinke ich diese direkt aus /packages/Newtonsoft.Json.12.0.0 wird sie unter den Verweisen aufgeführt und auch gefunden.

Ist jemand dieses Phänomen bekannt?
Ist hier de Nuget Package Manager schuld?

Thema: Nach Update von EFCore 2.x auf 3.x bekomme ich Fehler
Am im Forum: Datentechnologien

Moin, ich hätte noch einen Nachschlag.

System.Data.SqlClient ist nicht mehr vorhanden, sondern Microsoft.Data.SqlClient.

Beim Ausführen (Debug) heißt es, dass die Anwendung nicht gestartet werden kann, aufgrund einer falschen Anwendungskonfiguration und ich solle doch mal in die Ereignisanzeige schauen.

Da steht dann:

Fehler
Microsoft.Data.SqlClient.SNI.x64.dll
Zwei oder mehr, vom Anwendungsmanifest direkt oder indirekt referenzierte Komponenten beinhalten Dateien mit demselben Namen.


Grund dafür sind diese Einträge in der [Programmname].manifest:
Zitat
<file name="Microsoft.Data.SqlClient.SNI.x64.dll" size="549256">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>FQwBjrY2O421eg/ESWk1/ek15S199tZ0MOq18dY4YNk=</dsig:DigestValue>
</hash>
</file>
<file name="Microsoft.Data.SqlClient.SNI.x64.dll" size="510840">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>Rmsqtz8i0rUFKcM4leepPhXDs28uU9XJJtOY6ooTTsM=</dsig:DigestValue>
</hash>
</file>
<file name="Microsoft.Data.SqlClient.SNI.x64.dll" size="549240">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>D/9ZSzuRrA2K0/QHaj0ZL+nr6gV3gJzpicX9cJB6Iwo=</dsig:DigestValue>
</hash>
</file>
<file name="Microsoft.Data.SqlClient.SNI.x86.dll" size="497024">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>Lu2OS1/HxJEtOVQdVh25zYLvDLjpJk17WnE+RHNoc2g=</dsig:DigestValue>
</hash>
</file>
<file name="Microsoft.Data.SqlClient.SNI.x86.dll" size="440696">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>fdxYToKw1/AzNQ/3sDJYl4OLmTgFp6nR1BP8QAMBquY=</dsig:DigestValue>
</hash>
</file>
<file name="Microsoft.Data.SqlClient.SNI.x86.dll" size="497016">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>5OVK8KFhaRyp8M0T/MHr0A+dyH45VKfsrj13rMFVnkE=</dsig:DigestValue>
</hash>
</file>


Lösche ich alle Einträge bis auf einen:
Zitat
Microsoft.Data.SqlClient.SNI.x64.dll
funktioniert alles.

Die Frage ist nun: Wie kommen diese Einträge (und so viele) in die Manifest Datei?

Thema: Nach Update von EFCore 2.x auf 3.x bekomme ich Fehler
Am im Forum: Datentechnologien

Zitat von Abt
Wäre praktisch gewesen, wenn Du Dich mit den Breaking Changes von EF Core 3 beschäftigt hättest, bevor Du upgradest.
Ja-haaaa :)
Zitat von Abt
EFCore 3 arbeitet nicht mehr mit System.Data.SqlClient sondern mit Microsoft.Data.SqlClient.
Daher muss entsprechendes Paket ersetzt werden; dann ist auch der Fehler weg.
Ja.
Zitat von Abt
Tipp: beachte den Migrationspfad und die Empfehlungen.
Ist alles vom EF Team sauber dokumentiert ;-)
Yes.

Thema: Nach Update von EFCore 2.x auf 3.x bekomme ich Fehler
Am im Forum: Datentechnologien

Es hat sich erledigt.

Thema: Nach Update von EFCore 2.x auf 3.x bekomme ich Fehler
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MSSql

Hallo Gemeinde, mal wieder was kurioses.
In meiner .NET Framework 4.7.2 Anwendung EFCore implementiert.
Das Lief mit EfCore 2.4 perfekt.
Habe nun auf EfCore 3.1.8. geupdatet.

Als erstes musste ich AsQueryable() einbauen, da .where in EfCore und Linq implementiert ist.
Alles lässt sich wunderbar kompilieren

Teste ich nun eine Methode, erhalte ich beim Aufruf einer Abfrage wie z.B.

weiche = Context.NlWeiche.AsQueryable().Where(w => w.Id == 2).Single();

Folgende Fehlermeldungen:
Fehler
Der Typeninitialisierer für "Microsoft.Data.SqlClient.TdsParser" hat eine Ausnahme verursacht.
Fehler
Die DLL "Microsoft.Data.SqlClient.SNI.x86.dll": Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E) kann nicht geladen werden.
Fehler
bei Microsoft.Data.SqlClient.TdsParser..ctor(Boolean MARS, Boolean fAsynchronous)
bei Microsoft.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout)
bei Microsoft.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance)
bei Microsoft.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, ServerCertificateValidationCallback serverCallback, ClientCertificateRetrievalCallback clientCallback, DbConnectionPool pool, String accessToken, SqlClientOriginalNetworkAddressInfo originalNetworkAddressInfo, Boolean applyTransientFaultHandling)
bei Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
bei Microsoft.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
bei Microsoft.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
bei Microsoft.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
bei Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
bei Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
bei Microsoft.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
bei Microsoft.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
bei Microsoft.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
bei Microsoft.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
bei Microsoft.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry, SqlConnectionOverrides overrides)
bei Microsoft.Data.SqlClient.SqlConnection.Open(SqlConnectionOverrides overrides)
bei Microsoft.Data.SqlClient.SqlConnection.Open()
bei Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnection(Boolean errorsExpected)
bei Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected)
bei Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
bei Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.InitializeReader(DbContext _, Boolean result)
bei Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
bei Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.MoveNext()
bei System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
bei Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.Execute[TResult](Expression query)
bei Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryProvider.Execute[TResult](Expression expression)
bei System.Linq.Queryable.Single[TSource](IQueryable`1 source)
bei .........RepWagen.cs: Zeile51

Die Meldung verstehe ich nicht...
Die Suche nach SNI.x86.dll hilft irgendwie auch nicht weiter...

Hat jemand ein Idee?

Thema: Nach VS2019 Neuinstallation: Unit Test wird nicht ausgeführt
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Es ist ein .NET Framework 4.7.2 Projekt.

Thema: Nach VS2019 Neuinstallation: Unit Test wird nicht ausgeführt
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Jetzt geht es.
Ich habe den vorhandenen Test gelöscht und durch VS neu erstellen lassen.
Auf eine Funktion => Komponententest erstellen.
Da hat VS wohl dann die richtigen DLL's verlinkt.



Die Microsoft.NET.Test.Sdk ist nicht im Projekt vorhanden.

Herzlichen Dank Abt!

Thema: Nach VS2019 Neuinstallation: Unit Test wird nicht ausgeführt
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Vielen Dank,

die Konsole spuckt folgendes aus:

Fehler
Insgesamt 1 Testdateien stimmten mit dem angegebenen Muster überein.
Microsoft.VisualStudio.TestPlatform.ObjectModel.SettingsException: Fehler beim Laden der Laufzeiteinstellungen. Fehler: Die Datei oder Assembly "Microsoft.VisualStudio.TestPlatform.Common.resources, Version=15.0.0.0, Culture=de-DE, PublicKeyToken=b03f5f7f11d50a3a" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden. ---> System.IO.FileNotFoundException: Die Datei oder Assembly "Microsoft.VisualStudio.TestPlatform.Common.resources, Version=15.0.0.0, Culture=de-DE, PublicKeyToken=b03f5f7f11d50a3a" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden. ---> System.IO.FileNotFoundException: Die Datei oder Assembly "Microsoft.VisualStudio.TestPlatform.Common.resources, Version=15.0.0.0, Culture=de-DE, PublicKeyToken=b03f5f7f11d50a3a" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.
bei System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
bei System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
bei System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
bei System.Reflection.Assembly.Load(AssemblyName assemblyRef)
bei Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.TestPluginCache.CurrentDomainAssemblyResolve(Object sender, AssemblyResolveEventArgs args)
bei Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformAssemblyResolver.AssemblyResolverEvent(Object sender, Object eventArgs)
bei System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName)
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
bei System.Reflection.RuntimeAssembly.InternalGetSatelliteAssembly(String name, CultureInfo culture, Version version, Boolean throwOnFileNotFound, StackCrawlMark& stackMark)
bei System.Resources.ManifestBasedResourceGroveler.GetSatelliteAssembly(CultureInfo lookForCulture, StackCrawlMark& stackMark)
bei System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary`2 localResourceSets, Boolean tryParents, Boolean createIfNotExists, StackCrawlMark& stackMark)
bei System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo requestedCulture, Boolean createIfNotExists, Boolean tryParents, StackCrawlMark& stackMark)
bei System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
bei System.Resources.ResourceManager.GetString(String name, CultureInfo culture)
bei Microsoft.VisualStudio.TestPlatform.Common.Resources.Resources.get_FailedToLoadAdapaterFile()
bei Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.TestPluginDiscoverer.GetTestExtensionsFromFiles[TPluginInfo,TExtension](String[] files, Dictionary`2 pluginInfos)
bei Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.TestPluginDiscoverer.GetTestExtensionsInformation[TPluginInfo,TExtension](IEnumerable`1 extensionPaths)
bei Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.TestPluginCache.GetTestExtensions[TPluginInfo,TExtension](IEnumerable`1 extensionPaths)
bei Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.TestPluginCache.DiscoverTestExtensions[TPluginInfo,TExtension](String endsWithPattern)
bei Microsoft.VisualStudio.TestPlatform.Common.SettingsProvider.SettingsProviderExtensionManager.Create()
bei Microsoft.VisualStudio.TestPlatform.Common.RunSettings.ReadRunSettings(XmlReader reader)
--- Ende der internen Ausnahmestapelüberwachung ---
bei Microsoft.VisualStudio.TestPlatform.Common.RunSettings.ReadRunSettings(XmlReader reader)
bei Microsoft.VisualStudio.TestPlatform.Common.RunSettings.InitializeSettingsProviders(String settings)
bei Microsoft.VisualStudio.TestPlatform.Common.Utilities.RunSettingsUtilities.CreateAndInitializeRunSettings(String settingsXml)
bei Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.BaseRunTests.SetContext()
bei Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.ExecutionManager.StartTestRun(Dictionary`2 adapterSourceMap, String package, String runSettings, TestExecutionContext testExecutionContext, ITestCaseEventsHandler testCaseEventsHandler, ITestRunEventsHandler runEventsHandler)

Testlauf abgebrochen.

Microsoft.VisualStudio.TestPlatform.Common.resources, Version=15.0.0.0 wird also nicht gefunden.
Die finde ich aber bei Nuget auch nicht...

Thema: Nach VS2019 Neuinstallation: Unit Test wird nicht ausgeführt
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Guten Tag zusammen,

nach einer PC-und Visual Studio 2019 Neuinstallation lassen sich meine Unittests nicht mehr ausführen.
Zwar kann ich im Test Explorer den Test anklicken und debuggen.
Aber dieser startet dann einfach nicht und es kommt keinerlei Fehlermeldung, außer das hellblaue Ausrufezeichen: Nicht ausgeführt.

MsTest.Testadapter und MSTest.TestFramework sind installiert.

Google konnte leider nicht weiterhelfen.

Die Projektorder sind diesselben, es muss also irgendwie an Visual Studio liegen?

Thema: Die Datei oder Assembly "Newtonsoft.Json, Version=6.0.0.0, oder eine Abhängigkeit davon wurde nicht
Am im Forum: Web-Technologien

Vielen Dank.
Habe Bindings gekillt und komplett alles neu hergestellt.
Selbe Meldung.

Trotzdem müsste es doch mit der Umleitung funktionieren?

Edit:
Es geht nun.
In einer referenzierten DLL war Version 6.0.0. vorhanden, nach der wurde gesucht.
Das ist mir auch schon klar, aber dafür gibt es ja die Umleitungen??

Thema: Die Datei oder Assembly "Newtonsoft.Json, Version=6.0.0.0, oder eine Abhängigkeit davon wurde nicht
Am im Forum: Web-Technologien

Hallo zusammen,

eigentlilch dachte ich, dass ich es kapiert hätte.
Dem ist aber leider nicht der Fall.

In meiner Webanwendung (ASP.NET 472)kommt beim Start die Meldung:

Fehler
Die Datei oder Assembly "Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" oder eine Abhängigkeit davon wurde nicht gefunden. Die gefundene Manifestdefinition der Assembly stimmt nicht mit dem Assemblyverweis überein. (Ausnahme von HRESULT: 0x80131040)
Der Fehler sei in der global.asax, welche seit Jahren nicht verändert wurde.


 protected void Application_Start() {

            DevExtremeBundleConfig.RegisterBundles(BundleTable.Bundles);
            AreaRegistration.RegisterAllAreas();
            BundleConfig.RegisterBundles(BundleTable.Bundles);


            GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize;
            GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);


            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            
            ModelBinders.Binders.DefaultBinder = new DevExpress.Web.Mvc.DevExpressEditorsBinder();

            DevExpress.Web.ASPxWebControl.CallbackError += Application_Error;

          
   =>> nächste Zeile soll der Fehler sein:
     }

In der web.config ist eine Umleitung drin:


 <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="12.0.2.0" />
      </dependentAssembly>


Was ich verändert habe?
Keinen blassen Schimmer!
Trotzdem komme ich nicht dahinter, was ich denn noch tun kann?
Derartige Probleme habe ich mit den Umleitungen umgangen.
Wer oder was nun unbedingt Version 6.0.0. will kann ich nicht sagen.

Internet habe ich schon durchforstet, reinstall etc. bringt nichts.

Auf die Gefahr hin, dass ich eine auf die Mütze kriege:
Was läuft hier falsch?

Danke im Voraus :)

Thema: Aus einer DB generierte Models mit EF Core aktualisieren/neues Model hinzufügen?
Am im Forum: Datentechnologien

Ok, vielen Dank.
Das verstehe ich zwar nicht, aber ich nehme es hin wie es ist.
Ich meine - was ist wenn ich einfach eine fertige Datenbank habe und diese nutzen möchte...?

Thema: Aus einer DB generierte Models mit EF Core aktualisieren/neues Model hinzufügen?
Am im Forum: Datentechnologien

Also ich habe nun im DbContext das DbSet und die Klasse an sich manuell hinzugefügt..
so geht's zumindest.

Thema: Aus einer DB generierte Models mit EF Core aktualisieren/neues Model hinzufügen?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MSSQL

Guten Morgen.

In meiner .Net Core 3.1 habe ich per Database First meine Models anlegen lassen.

dotnet ef dbcontext scaffold ...

Funktionierte prima und ich kann in die Datenbank schreiben und lesen.
Das war vor ca. 14 Tagen.

Heute geht es nicht mehr, obwohl ich kein Änderungen gemacht hatte.
In der DB habe ich eine neue Tabelle angelegt und wollte diese nun einfügen.

Bei Ausführen des Befehls kommt leider immer nur
Fehler
Build failed


Ich kann aber das Projekt und die komplette Projektmappe problemlos erstellen.
Es kommen auch keine Fehler oder sonst etwas.
Alle benötigten DLL's sind vorhanden.
Alle EF DLLs sind aktuell.

Also exakt dasselbe wie vor 14 Tagen, keine Änderung, aber geht nicht mehr.

Kennt jemand hierfür eine Lösung?

Thema: 'System.Interactive.Async' konnte nicht gefunden werden
Am im Forum: Grundlagen von C#

Die Erfahrung habe ich nun gemacht :)
Vielen Dank.

Thema: 'System.Interactive.Async' konnte nicht gefunden werden
Am im Forum: Grundlagen von C#

Ja, alles brav über nuget.


Habe es aber schon gelöst.

Ich habe EntityFramework.Core 2.2.4. installiert, welches anscheinen zwingend System.Interactive.Async 3.2.0 benötigt.

System.Interactive.Async habe ich auf 4.0.0 geupdatet, EFCore blieb bei 2.2.4
Da dies offensichtlich nicht zusammenpasst, kam o.G. Meldung.

Also entweder EFCore 2.2.4 und System.I.Async 3.2.0 oder beides updaten, obwohl bei Abhängigkeiten bei EFCore 2.2.4 steht:

Zitat
System.Interactive.Async (≥ 3.2.0)

Thema: 'System.Interactive.Async' konnte nicht gefunden werden
Am im Forum: Grundlagen von C#

Hallo zusammen,

ich hoffe, dass ich hier richtig bin.
Folgende Struktur habe ich :

ASP.NET Anwendung, .NET4.7.2
In einem Controller wird eine Funktion aufgerufen, welche in einer verwiesenen DLL vorhanden ist.
Diese basiert ebenfalls auf .NET 4.7.2
Diese wiederum bindet eine weitere DLL ein.
Wie alle anderen basiert diese auf .NET 4.7.2

Alle drei verbundenen Komponenten verweisen durchgehend auf System.Interactive.Async 4.0.0.0

Trotzdem bekomme ich bei Aufruf der Funktion im Controller folgende Meldung:

Fehler
Der Typ "System.Collections.Generic.IAsyncEnumerable`1" in der Assembly "System.Interactive.Async, Version=4.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263" konnte nicht geladen werden.

Es ist nirgends ein bindingRedirect vorhanden.

Die Meldung heißt meines Erachtens auch, dass die System.Interactive.Async gefunden wird, aber darin wird was nicht gefunden.

Lässt sich hier ein Fehler erkennen?

Vielen Dank im Voraus

Thema: Core 3.0: WebApi.HttpClient übergibt null
Am im Forum: Web-Technologien

Lösung:

zwar verstehe ich es nicht, aber ich musste vorher die Daten noch zu Json umwandeln:


 resJson = new StringContent(content: JsonConvert.SerializeObject(data),
                            encoding: Encoding.UTF8,
                            mediaType: "application/json");

Thema: Core 3.0: WebApi.HttpClient übergibt null
Am im Forum: Web-Technologien

Also am FromBody liegt es nicht.
Übergabe, d.h. value = null.

Dann muss es daran liegen, dass ich von einem Webservice aus einen anderen Webservice aufrufe?
Irgendwas mit Threads?

Thema: Core 3.0: WebApi.HttpClient übergibt null
Am im Forum: Web-Technologien

Hallo zusammen,

schon 1000 mal berührt, tausend mal hat's geklappt.
Nun hat's Zoom gemacht.

Doch zur Sache:
Ich habe eine kleine .NET Core 3.0 WebApi Anwendung.

Hier gibt es im Controller eine Funktion, welche einen anderen WebService aufruft.
Das ganze wird mit dem Postman getestet und die Daten werden auch korrekt übergeben.

Der Controller sieht so aus:


 [Route("api/[controller]")]
    [ApiController]
    public class SapRueckmeldungsController : ControllerBase
    {
....
...
....
 [HttpPost]
        [Route("CheckRueckmeldung")]

        public  ActionResult<SapRueckmeldung> CheckRueckmeldung(SapWriteData data)
        {

data ist korrekt gefüllt.
In diesem ist dann folgende Funktion:

 

HttpClient client = new HttpClient
            {
                BaseAddress = _baseAdress
            };

            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(
                new MediaTypeWithQualityHeaderValue("application/json"));

            HttpResponseMessage response = client.PostAsJsonAsync(_extension, data).Result;

In der letzten Zeile, die Variable data ist gefüllt und stellt ein Model "SapWriteData" dar.

Diese Webanwendung wird damit aufgerufen:


   public IHttpActionResult GetColorNew([FromBody]SapWriteData value)

Value ist hier aber immer null und das ist das Problem.


Kann es am "FromBody" liegen?
Eigentlich ja nicht, denn diese Funktion und andere rufe ich auf exakt dieselbe Weise ziemlich oft in anderen Funktionen in anderen Projekten auf.

Woran könnte das dann liegen?

Thema: [gelöst] Csc Fehler nach Nuget Updates
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat von Abt
... dass es nie eine gute Idee ist blind NuGet Updates durchzuführen ;-)

Das auch :)

Und das hier war bei mir die Lösung:
Visual Studio 2015 Build errors - The “Csc” task could not be initialized with its input parameters

Thema: [gelöst] Csc Fehler nach Nuget Updates
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hellöle zusammen.

In einem .NET 4.8 Asp.Net Projekt habe ich per Nuget Paket Manager sämtliche Updates gemacht.
Scheint alles geklappt zu haben...oder doch nicht?

Seit dem kommen jedenfalls beim Neu erstellen folgende Fehler:

Fehler

Fehler Die "Csc"-Aufgabe konnte nicht mit ihren Eingabeparametern initialisiert werden. KnollSvr C:\PFAD\...\packages\Microsoft.Net.Compilers.3.4.0\tools\Microsoft.CSharp.Core.targets 59

und
Fehler

Fehler Der "AnalyzerConfigFiles"-Parameter wird von der "Csc"-Aufgabe nicht unterstützt. Vergewissern Sie sich, dass der Parameter in der Aufgabe vorhanden ist und es sich um eine festlegbare öffentliche Instanzeigenschaft handelt. C:\...gleicherPfad\\Microsoft.CSharp.Core.targets 64

Was kann das bedeuten?