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 Yeats
Thema: Wieso kommt beim Start von VS2019 Community-Edition eine "StreamJsoRpc ConnectionLostException"?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

Seit ca. 1 Monat bekomme ich häufig beim Start von Visual Studio 2019 Community Edition (Version 16.8.4) folgende Fehlermeldung:

Fehler
StreamJsonRpc.ConnectionLostException : The JSON-RPC connection with the remote party was lost before the request could complete.
at async StreamJsonRpc.JsonRpc.InvokeCoreAsync(<Unknown Parameters>)
at async StreamJsonRpc.JsonRpc.InvokeCoreAsync[TResult](<Unknown Parameters>)
at async Microsoft.CodeAnalysis.Remote.RemoteEndPoint.InvokeAsync[T](<Unknown Parameters>)
at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)

Ich hatte schon versucht, Erweiterungen zu deaktivieren und zu deinstallieren, Visual Studio mehrmals neu installiert.

Auf github gibt es dazu zwar schon einen Eintrag: github. Allerdings bin ich mir nicht sicher in welchem "nächsten" Release das behandelt wird, da es schon im April letztes Jahr berichtet wurde und in dem letzten Release von Januar dieses Jahres hat es auf alle Fälle nicht behoben.

Das Problem ist, sobald dieser Fehler kommt, werden Klassen nicht mehr erkannt und ein einfaches Navigieren zu diesen ist nicht mehr möglich. Die "Error List" aktualisiert sich nicht mehr.

Hat jemand eine Idee wie man diesen Fehler umgehen kann?
Mit freundlichen Grüßen

Thema: Python Skript/ Module in C# integrieren
Am im Forum: Grundlagen von C#

Hallo,

Mittels IronPython kannst du dir in einem C# Programm eine Python ScriptEngine erstellen wo du dann entweder ein Python Skript, oder ein Python File von einem Ordner laden könntest.

Sowas könnte so aussehen:


using System;

using IronPython.Hosting;


namespace Test
{
    public class Program
    {
        public static void Main (string[] args)
        {
            //var engine = Python.CreateEngine();
            //var scope = engine.ExecuteFile("hello.py");

            var engine = Python.CreateEngine();
            engine.Execute("print \"Hello World from Python\"");
            
            Console.ReadKey();
        }
    }
}

Ob du damit ein Python 3.* ansprechen kannst, weiß ich allerdings nicht.

Ansonsten natürlich auch die Ausführung über CLI wie Taipi88 schon beschrieben hat.

Thema: Bower mit Visual Studio mit 2017
Am im Forum: Web-Technologien

Bower muss installiert werden.

npm install -g bower

Allerdings, dass weiß vielleicht jemand anderes besser, wird Bower selten verwendet.

Thema: Umgang und Best Practise bei Updates via NuGet
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo zusammen,

Ich arbeite an einer ASP Core 2.1 Solution wo mehrere Projekte inkludiert sind. Von Zeit zu Zeit möchte ich dann die nuget Pakete aktualisieren. Allerdings ist das jedesmal eine frustrierende Angelegenheit.
Manche Pakete lassen sich ohne weiteres updaten, andere produzieren einen Fehler und weitere Versuche ein Update durchzuführen schlagen fehl.
Mein Ansatz ist dann immer, die Änderungen zurück zu setzen und dann die Pakete in einer anderen Reihenfolge zu aktualisieren.

Deshalb nun meine Frage, wie macht ihr das bei euch?

Mfg

Thema: Eine Liste aus einer CSV-Datei erstellen
Am im Forum: Grundlagen von C#

Wenn du mit WPF arbeitest, sieh dir auch das MVVM Pattern und versuche dich daran zu halten. Es macht einiges einfacher --> Bessere Trennung deiner Logik von deiner UI --> leichteres schreiben von UnitTests

Thema: Web HMI für Hausautomation - Feedback zu Konzept
Am im Forum: Web-Technologien

Darstellung von Messwerten der Wetterstation und Heizung sollte kein Problem sein. Falls du asp.net core benutzen möchtest, musst du halt schauen, ob die dll benutzbar ist. Die Frage ist, wie detailiert und genau eine Visualisierung deiner Beleuchtung machen möchtest 3D Darstellung? Schematische Darstellung? Generell solltest du aber genügend Möglichkeiten finden, dir eine Visualisierung zu basteln.

Da du aber eine Trennung des Frontends vom deiner Logik und Backends angedacht hast, sollte es im ersten Schritt egal sein, ob dein Frontend Vue.js/Angular/... oder eine Konsolenanwendung ist.

Thema: SplitScreen selber gemacht
Am im Forum: GUI: Windows-Forms

Roslyn wird von VS benutzt. Darüber hinaus kann Roslyn auch außerhalb von VS benutzt werden. Roslyn Analyzer sind Erweiterungen die man für den Compiler schreiben kann um zB. eigene Code Inspections machen zu können die man dann wieder in VS einsetzen kann. Ein Beispiel wäre hier

Thema: SplitScreen selber gemacht
Am im Forum: GUI: Windows-Forms

Hallo,
Sieh dir in diesem Zusammenhang mal OmniSharp an. Das wird auch verwendet im C# Plugin für Visual Studio Code. Der Source findet sich auf GitHub und baut auf dem Roslyn Compiler auf.

Thema: Abfrage mit Dapper aber DataGridView bleibt leer
Am im Forum: Datentechnologien

Hallo,
Stimmen die Namen deiner Properties mit den Namen der Spalten in der Tabelle überein?

Thema: Definition wird nicht gefunden, ist jedoch in der AppDomain gelistet
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

Wie setzt du die Referenz auf den Modul-Typ?

Grüße

Thema: [erledigt]Wie kann ich ein dynamic zu einem object casten?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ah, ja so betrachtet macht es natürlich Sinn.

Thema: [erledigt]Wie kann ich ein dynamic zu einem object casten?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

Ich hab ein Verständisproblem mit dynamic.
Folgende Method:


public object Cast(dynamic dynObj){
return (object)dynObj;
}
Diese Methode wird mit einem dynamic object aufgerufen.


public class Test : DynamicObject{xxx}

Test test = new Test();
dynamic obj = (dynamic)test;

var x = Test(obj);
Soweit ist auch alles in Ordnung. Was mich allerdings wundert, wenn der Kompiler den Typen selbst erkennt, dann ist für ihn x vom Typ dynamic.

Wenn ich den Aufruf so gestalte, dann ist x vom Typ object.


object x = Test(obj);

Meine Frage ist jetzt eigentlich nur, warum wird bei impliziter Konvertierung der Typ auf dynamic gecastet?

Grüße

Thema: Eigene IDE bzw Editor: Wie kann ich in Echtzeit Syntax-Fehler anzeigen?
Am im Forum: Rund um die Programmierung

Sieh dir dazu Omnisharp und das LanguageServerProtocol von Microsoft an.

Omnisharp

LanguageServerProtocol

Thema: [erledigt] Jenkins: Build errors; VS: keine Errors
Am im Forum: Rund um die Programmierung

Danke Abt,
Danke Th69

Der Pfad zu MSBuild war falsch konfiguriert.

Thema: [erledigt] Jenkins: Build errors; VS: keine Errors
Am im Forum: Rund um die Programmierung

Habe die ToolsVersion auf 15 geändert.
Damit bekomme ich diese Meldung.

Fehler
This toolset may be unknown or missing, in which case you may be able to resolve this by installing the appropriate version of MSBuild, or the build may have been forced to a particular ToolsVersion for policy reasons. Treating the project as if it had ToolsVersion="4.0".
Auf dem Rechner ist allerdings Visual Studio 2017 Community installiert.

Thema: [erledigt] Jenkins: Build errors; VS: keine Errors
Am im Forum: Rund um die Programmierung

Hallo,

Zur Zeit versuche ich mir Jenkins zu konfigurieren. Dazu habe ich das MSBuild Plugin installiert. Anschließend mit dem Git-Repository verbunden und ein Projekt angelegt.
Ohne die Ausführung der UnitTests, nur als BuildServer, hat es problemlos geklappt.
Anschließend wollte ich noch die UnitTests ausführen lassen. Dazu NUnit auf dem Rechner installiert, NUnit Plugin installiert, den MSBuild Pfad in Jenkins angegeben und anschließend beides zusammen im Build Prozess angegeben.

Allerdings bekomme ich nun beim Kompilieren Fehler durch MSBuild die ich beim Kompilieren mit Visual Studio oder Rider nicht bekomme.

Das Projekt baut auf Framework 4.7 auf.

Folgend ist ein Auszug aus dem Jenkins Output.


C:\Jenkins\Workspace\Continuity>C:\temp\nuget.exe restore 
MSBuild auto-detection: using msbuild version '15.5.180.51428' from 'C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\bin'.
Restoring NuGet....

C:\Jenkins\Workspace\Continuity>exit 0 
Path To MSBuild.exe: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe
Executing the command cmd.exe /C " chcp 1252 & C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe Continuity.sln " && exit %%ERRORLEVEL%% from C:\Jenkins\Workspace\Continuity
[Continuity] $ cmd.exe /C " chcp 1252 & C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe Continuity.sln " && exit %%ERRORLEVEL%%
Active code page: 1252
Microsoft (R) Build Engine version 4.7.2558.0
[Microsoft .NET Framework, version 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.

Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
Build started 07.01.2018 13:36:09.
Project "C:\Jenkins\Workspace\Continuity\Continuity.sln" on node 1 (default targets).
ValidateSolutionConfiguration:
  Building solution configuration "Debug|Any CPU".
Project "C:\Jenkins\Workspace\Continuity\Continuity.sln" (1) is building "C:\Jenkins\Workspace\Continuity\Continuity\Continuity.csproj" (2) on node 1 (default targets).
Project file contains ToolsVersion="12.0". This toolset may be unknown or missing, in which case you may be able to resolve this by installing the appropriate version of MSBuild, or the build may have been forced to a particular ToolsVersion for policy reasons. Treating the project as if it had ToolsVersion="4.0". For more information, please see http://go.microsoft.com/fwlink/?LinkId=291333.
PrepareForBuild:
  Creating directory "bin\Debug\".
  Creating directory "obj\Debug\".
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3267: The primary reference "System.AppContext, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL", which is a framework assembly, could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.7". To resolve this problem, either remove the reference "System.AppContext, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" or retarget your application to a framework version which contains "System.AppContext, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL". [C:\Jenkins\Workspace\Continuity\Continuity\Continuity.csproj]
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3257: The primary reference "System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" could not be resolved because it has a higher version "4.1.2.0" than exists in the current target framework. The version found in the current target framework is "4.0.0.0". [C:\Jenkins\Workspace\Continuity\Continuity\Continuity.csproj]
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3267: The primary reference "System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL", which is a framework assembly, could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.7". To resolve this problem, either remove the reference "System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" or retarget your application to a framework version which contains "System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL". [C:\Jenkins\Workspace\Continuity\Continuity\Continuity.csproj]
GenerateTargetFrameworkMonikerAttribute:
...

BaseClasses\SlExcelStatus.cs(7,29): error CS1002: ; expected [C:\Jenkins\Workspace\Continuity\Continuity\Continuity.csproj]

Hat jemand da eine Idee dazu?
mfg

Thema: [erledigt] MariaDb - not null column - insert possible
Am im Forum: Datentechnologien

Danke für die Antwort!
Die Beschreibung des Strict Modes ist aber auch recht niedlich.

Thema: [erledigt] MariaDb - not null column - insert possible
Am im Forum: Datentechnologien

Danke felix für den Hinweis.

Aber bitte den letzten Absatz lesen. Ich ERWARTE mir einen Fehler, bekomme aber nur eine Warnung!

Zitat
Die Warnung lautet hierbei auch nur:
Field 'Value' doesn't have a default value!

Würde mir an dieser Stelle nun eigentlich einen Fehler erwarten!

Thema: [erledigt] MariaDb - not null column - insert possible
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: mariadb 10.2
HeidiSql 9.4.0.5125

Hallo,

Habe eine Tabelle


CREATE TABLE `Options` (
	`Id` INT(11) NOT NULL AUTO_INCREMENT,
	`Code` VARCHAR(200) NOT NULL COLLATE 'utf8_general_ci',
	`Value` VARCHAR(10000) NOT NULL COLLATE 'utf8_general_ci',.........

Value ist, wie man sehen kann, auf not null gesetzt.
Allerdings führt folgendes Insert Statement nur zu einer Warnung:

INSERT INTO `Options` (`Code`, `VariantId`) VALUES ('XFSA', 8);

Die Warnung lautet hierbei auch nur:
Fehler
Field 'Value' doesn't have a default value!

Würde mir an dieser Stelle nun eigentlich einen Fehler erwarten!

Kennt jemand den Grund für ein solches Verhalten?
Grüße, Yeats

Thema: [erledigt] Wie kann ich eine .NET Core APP mit Rider IDE debuggen und mit Chrome starten lassen?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

@Abt: Danke für den Hinweis. Dann werde ich mal schauen wie das zu konfigurieren ist.

Thema: [erledigt] Wie kann ich eine .NET Core APP mit Rider IDE debuggen und mit Chrome starten lassen?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Die Spaces hab ich hinzugefügt, damit nicht in eine URL umgewandelt wird.

Thema: [erledigt] ComboBox in UserControl - SelectedItem wird nicht angezeigt
Am im Forum: GUI: WPF und XAML

Danke,

Hat funktioniert

Thema: [erledigt] Wie kann ich eine .NET Core APP mit Rider IDE debuggen und mit Chrome starten lassen?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

Bin am herumprobieren der Rider IDE und versuche mich daran mein Projekt zu debuggen.
Das Projekt ist ein .netcore 1.1, mit JS und Angular. Das bearbeiten und kompilieren funktionieren problemlos. Allerdings bekomme ich es nicht hin, den Source zu Debuggen.
Aus Rider heraus habe ich aber kein Problem den Server zu starten und mich zu verbinden.

Ich schätze mal, dass meine Argumente die ich mitgebe nicht korrekt aufgesetzt sind.
Hierzu meine Arguments:

/site:{ProjectName} /apppool:Clr4IntegratedAppPool
Environmental Variables: ASPNETCORE_ENVIRONMENT: Development
ASPNETCORE_URLS: http://localhost:5000

Was ich, neben dem Debugger, noch gerne hätte, dass beim Starten Chrome gestartet wird.

Hat jemand schon Erfahrung gesammelt, oder kennt hilfreiche Links?

Grüße

Thema: EntityFramework Core - MySql.Data.EntityFrameworkCore - DbUpdateConcurrencyException
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

Wenn ich mir das SQL Statement hole und in der DB absetze, kann ich ohne weiteres hinzufügen.

In der Where Bedingung steht


WHERE ROW_COUNT() = 1
 AND `Id`=LAST_INSERT_ID()

Thema: EntityFramework Core - MySql.Data.EntityFrameworkCore - DbUpdateConcurrencyException
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

Zitat
Database operation expected to affect 1 row(s) but actually affected 0 row(s). Data may have been modified or deleted since entities were loaded.

Thema: EntityFramework Core - MySql.Data.EntityFrameworkCore - DbUpdateConcurrencyException
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

Hallo,

Habe eine Frage zu .net core und MySql.Data.EntityFrameworkCore(last stable)
Verwendete
Habe im Prinzip zwei POCO Klassen:


public class A:BaseObject
{
public AGroup Group{get;set;}
}

public class AGroup:BaseObject
{
public ICollection<A> A{get;set;}
public AGroup(){
A=new List<A>();}
}

Diese sind in einer Mapping Klasse auf Ihre jeweiligen die Datenbanktabellen gemappt.

Wenn ich nun in einem Test versuche von AGroup ein Objekt zu schreiben, bekomme ich eine DbUpdateConcurrancyException.

Dazu der Test:


[FACT]
public void CreateTest(){
using(var ctx = new DbContext())
{
var group = new AGroup();
group.Add(new A{...});

Db.AGroups.Add(group);
Db.SaveChanges();
}
}

Suche jetzt schon eine geraume Zeit nach dem Grund. Was ich auf alle Fälle ausschließen kann, es gibt auf der DB keinen Eintrag der identisch wäre. Außerdem ist in keiner verwendeten Klasse ein ConcurrencyToken angegeben. Das Objekt ändert sich zwischen hinzufügen und Speichern nicht. Außerdem konnte ich auch ForeignKey Exceptions ausschließen.

Hat von euch vielleicht jemand diesen Fall schon gehabt und einen Grund dafür gefunden?

Thema: [erledigt] ComboBox in UserControl - SelectedItem wird nicht angezeigt
Am im Forum: GUI: WPF und XAML

Hallo MrSparkle,

Wenn ein Item schon angelegt habe und es zum Editieren in das Control lade, dann wird die Combobox nicht mit dem Wert zuvor gespeicherten Wert befüllt.

In der Ausgabe war keine Fehlermeldung durch das DataBinding zu finden.
Die Idee mit einem Converter das Binding zu untersuchen, muss ich ausprobieren.

Thema: [erledigt] ComboBox in UserControl - SelectedItem wird nicht angezeigt
Am im Forum: GUI: WPF und XAML

Hallo,

Habe ein UserControl gebaut.


<UserControl ... >
    <Grid x:Name="ElementRoot" DataContext="{Binding ElementName=ParentElement}">
...
<ComboBox x:Name="CountryComboBox"
                  Grid.Row="3"
                  Grid.Column="1"
                  Margin="4"
                  DisplayMemberPath="Name"
                  ItemsSource="{Binding CountryList,
                                        Mode=TwoWay}"
                  SelectedItem="{Binding SelectedItem}" />
...
    </Grid>
</UserControl>
Code behind mit den Dependency Properties


public partial class AddressControl : UserControl
    {
        public AddressControl()
        {
            InitializeComponent();
        }

        public static readonly DependencyProperty StreetProperty = DependencyProperty.Register(
            "Street", typeof(string), typeof(AddressControl), new PropertyMetadata(default(string)));

        public string Street
        {
            get { return (string)GetValue(StreetProperty); }
            set { SetValue(StreetProperty, value); }
        }

        public static readonly DependencyProperty CityProperty = DependencyProperty.Register(
            "City", typeof(string), typeof(AddressControl), new PropertyMetadata(default(string)));

        public string City
        {
            get { return (string)GetValue(CityProperty); }
            set { SetValue(CityProperty, value); }
        }

        public static readonly DependencyProperty ZipCodeProperty = DependencyProperty.Register(
            "ZipCode", typeof(string), typeof(AddressControl), new PropertyMetadata(default(string)));

        public string ZipCode
        {
            get { return (string)GetValue(ZipCodeProperty); }
            set { SetValue(ZipCodeProperty, value); }
        }

        public static readonly DependencyProperty CountryListProperty = DependencyProperty.Register(
            "CountryList", typeof(ObservableCollection<Country>), typeof(AddressControl),
            new PropertyMetadata(default(ObservableCollection<Country>)));

        public ObservableCollection<Country> CountryList
        {
            get { return (ObservableCollection<Country>)GetValue(CountryListProperty); }
            set { SetValue(CountryListProperty, value); }
        }

        public static readonly DependencyProperty SelectedItemProperty = DependencyProperty.Register(
            "SelectedItem", typeof(Country), typeof(AddressControl), new PropertyMetadata(default(Country)));

        public Country SelectedItem
        {
            get { return (Country)GetValue(SelectedItemProperty); }
            set { SetValue(SelectedItemProperty, value); }
        }
    }

Die ItemsSource der Combobox wird an eine Liste mit Countries gebunden. Das UC funktioniert soweit, dass ich die Liste bekomme, anzeigen kann, auswählen kann, und das Model auf das zugegriffen wird, die Werte auch wieder gesetzt bekommt.

Das UserControl wird folgend verwendet:

<StackPanel Orientation="Vertical">
                <controls:AddressControl City="{Binding City,
                                                        Mode=TwoWay}"
                                         CountryList="{Binding Countries,
                                                               Mode=TwoWay}"
                                         SelectedItem="{Binding Country,
                                                                Mode=TwoWay}"
                                         Street="{Binding Street,
                                                          Mode=TwoWay,
                                                          ValidatesOnDataErrors=True}"
                                         ZipCode="{Binding ZipCode,
                                                           Mode=TwoWay,
                                                           ValidatesOnDataErrors=True}" />

Wenn ich nun ein Address item mit gefüllten Werten dem UC zum Binden gebe, werden auch alle Daten, außer der Combobox, korrekt angezeigt und können geändert und gespeichert werden.
Allerdings zeigt die Combobox den Wert nicht an.
Versuchsweise wurde auch das SelectedValue der Combobox an das SelectedItem Property gebunden. Brachte allerdings auch nicht den erwünschten Effekt.

Hat jemand eine Idee was ich hier falsch mache?

Grüße

Thema: Alle Dateien in verschiedenen Ordnern umbennen
Am im Forum: Grundlagen von C#

Hallo,

Absolut zeitgleich wird nicht funktionieren da das umbenennen immer ein paar ms dauern wird.

Aber du kannst dir die Inhalte (Dateien) der Ordner auslesen. Somit bekommst du die Pfade zu den Dateien.

Sieh dir dazu die Klasse DirectoryInfo an.

Thema: Unmanaged Dll C++ die Funktionen in C Sharp einbinden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Th69,

Dies aber nur solange die DLL im GAC oder im selben Programm Verzeichnis liegt.