Benutzer mit den meisten Antworten
Directx unter Visual C# 2010 Express einbinden

Frage
-
Hallo,
ich möchte mit visual C# 2010 directX verwenden.
Dafür soll man unter anderem folgende Zeilen benutzen:
using Microsoft.DirectX; using Microsoft.DirectX.Direct3D;
Dann soll man noch ein Verweis auf die DLL's Microsoft.DirectX.dll und Microsoft.DirectX.Direct3D.dll machen. Das habe ich getan.
Wenn ich das ganze nun ausführen will bekomme ich diese Fehlermeldung:
"Die Assembly im gemischten Modus wurde während Version v1.1.4322 der Laufzeit erstellt und kann nicht während der 4.0-Laufzeit ohne zusätzliche Konfigurationsinformationen geladen werden."
"Stellen Sie sicher, dass die Datei eine gültige .Net Framework-Assembly ist."
Was kann man da tun?
TS23
Antworten
-
Hallo TS,
Hier zunächst mögliche Einstellungen bzgl. paralleler Ausführung mehrere CLR Versionen gleichzeitig:[Prozessinterne parallele Ausführung]
http://msdn.microsoft.com/de-de/library/ee518876.aspxweiterhin .. auf .NET 1.1 sollte man heutzutage nicht mehr "bauen".
Ggf. unter Projekt-Eigenschaften das Zielframework anpassen:[VS2010 Tips #13: How to do multi-targeting in Visual Studio 2010 Express edition · Ferry Meidianto]
http://blog.meidianto.com/2010/07/01/vs2010-tips-13-how-to-do-multi-targeting-in-visual-studio-2010-express-edition/Dann gibt es je nach XNA oder DirectX-Version ein paar Dinge .. :
[Using Visual C# Express 2010 and can't reference DirectX libraries... - XNA Community Forums]
http://forums.xna.com/forums/t/55140.aspxAusserhalb der Frage erwähnt ... : das aktuelle DirectX SDK ist:
[Download details: DirectX SDK - (June 2010)]
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=3021d52b-514e-41d3-ad02-438a3ba730ba[DirectX SDK Samples]
http://msdn.microsoft.com/en-us/directx/ee623005.aspx
ciao Frank- Als Antwort markiert Robert Breitenhofer Freitag, 29. Oktober 2010 15:45
-
Hallo,
Dann soll man noch ein Verweis auf die DLL's Microsoft.DirectX.dll und Microsoft.DirectX.Direct3D.dll machen. Das habe ich getan.
Wenn ich das ganze nun ausführen will bekomme ich diese Fehlermeldung:
"Die Assembly im gemischten Modus wurde während Version v1.1.4322 der Laufzeit erstellt und kann nicht während der 4.0-Laufzeit ohne zusätzliche Konfigurationsinformationen geladen werden."
Schau mal, ob Du folgende Lösung bei Dir anwenden kannst:
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort markiert Robert Breitenhofer Freitag, 29. Oktober 2010 15:45
-
Hallo TS,
in der Anwendungs-Konfigurationsdatei. Normal "app.config".
Hier - wie gesagt - Details:[Prozessinterne parallele Ausführung]
http://msdn.microsoft.com/de-de/library/ee518876.aspxBeachte - aus der Praxis heraus - die Reihenfolge der Einträge spielt da immer eine Rolle. Achte darauf, dass die ConfigSections (falls vorhanden) am Anfang sind.
ciao Frank- Als Antwort markiert Robert Breitenhofer Freitag, 29. Oktober 2010 15:45
Alle Antworten
-
Hallo,
Dann soll man noch ein Verweis auf die DLL's Microsoft.DirectX.dll und Microsoft.DirectX.Direct3D.dll machen. Das habe ich getan.
Wenn ich das ganze nun ausführen will bekomme ich diese Fehlermeldung:
"Die Assembly im gemischten Modus wurde während Version v1.1.4322 der Laufzeit erstellt und kann nicht während der 4.0-Laufzeit ohne zusätzliche Konfigurationsinformationen geladen werden."
Schau mal, ob Du folgende Lösung bei Dir anwenden kannst:
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort markiert Robert Breitenhofer Freitag, 29. Oktober 2010 15:45
-
Hallo TS,
Hier zunächst mögliche Einstellungen bzgl. paralleler Ausführung mehrere CLR Versionen gleichzeitig:[Prozessinterne parallele Ausführung]
http://msdn.microsoft.com/de-de/library/ee518876.aspxweiterhin .. auf .NET 1.1 sollte man heutzutage nicht mehr "bauen".
Ggf. unter Projekt-Eigenschaften das Zielframework anpassen:[VS2010 Tips #13: How to do multi-targeting in Visual Studio 2010 Express edition · Ferry Meidianto]
http://blog.meidianto.com/2010/07/01/vs2010-tips-13-how-to-do-multi-targeting-in-visual-studio-2010-express-edition/Dann gibt es je nach XNA oder DirectX-Version ein paar Dinge .. :
[Using Visual C# Express 2010 and can't reference DirectX libraries... - XNA Community Forums]
http://forums.xna.com/forums/t/55140.aspxAusserhalb der Frage erwähnt ... : das aktuelle DirectX SDK ist:
[Download details: DirectX SDK - (June 2010)]
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=3021d52b-514e-41d3-ad02-438a3ba730ba[DirectX SDK Samples]
http://msdn.microsoft.com/en-us/directx/ee623005.aspx
ciao Frank- Als Antwort markiert Robert Breitenhofer Freitag, 29. Oktober 2010 15:45
-
Hallo TS,
in der Anwendungs-Konfigurationsdatei. Normal "app.config".
Hier - wie gesagt - Details:[Prozessinterne parallele Ausführung]
http://msdn.microsoft.com/de-de/library/ee518876.aspxBeachte - aus der Praxis heraus - die Reihenfolge der Einträge spielt da immer eine Rolle. Achte darauf, dass die ConfigSections (falls vorhanden) am Anfang sind.
ciao Frank- Als Antwort markiert Robert Breitenhofer Freitag, 29. Oktober 2010 15:45
-
Unter Visual C# express 2008 geht das ganze.
Ich glaube ich nutze jetzt auch weiterhin die 2008 version, da die 2010ner ja eh nur 90 Tage lauffähig ist.
Trotzdem vielen Dank für eure Antworten.
TS23
-
Hallo TS,
> die 2010ner ja eh nur 90 Tage lauffähig ist.
nein, die ist VS 2010 Express ist frei. Du hast nur Registrierungspflicht nach 30 Tagen.
Wie auch bei den vorangegangenen Expressversionen muss die Software nach 30 Tagen Benutzung registriert werden. Die Registrierung erfolgt mittels Windows Live ID und ist kostenlos und mit keinerlei Verpflichtungen außer der Einhaltung der Lizenzbestimmungen, verbunden. Nach vollzogenem Registrierungsprozess bekommt man das Angebot VS 2010 Professional für 90 Tage zu testen.
ciao Frank -
Hallo,
Unter Visual C# express 2008 geht das ganze.
es würde auch mit der 2010er Version gehen, mit der Anpassung der app.config oder die Änderung des Zielframework von 4.0 auf 2.0 bzw. 3.5.
da die 2010ner ja eh nur 90 Tage lauffähig ist.
Das hat Frank ja bereits erklärt.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de -
Das mit den 90 Tagen hab ich dann wohl falsch verstanden, registriert ist es aber schon.
Wenn ich in der App.config
schreibe statt<?xml version="1.0"?> <configuration> <startup><supportedRuntime version="v3.5" sku=".NETFramework,Version=v3.5"/><br/> </startup></configuration>
<?xml version="1.0"?> <configuration> <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/><br/> </startup></configuration>
kommt beim laden des Projektes eine Meldung, das ich .Net Framework 3.5 installieren soll, obwohl es schon installiert ist. Ich habe bei "Zielframework anpassen" auch nur die wahl zwischen 4.0 und 4.0 Client Profiel.
beim Verweis hinzufügen tauchen die Verweise bei der 2010 version im gegensatz zur 2008 auch nicht unter ".NET" auf.
TS23
-
Hallo,
Wenn ich in der App.config
<?xml version="1.0"?> <configuration> <startup><supportedRuntime version="v3.5" sku=".NETFramework,Version=v3.5"/><br/> </startup></configuration>
kommt beim laden des Projektes eine Meldung, das ich .Net Framework 3.5 installieren soll, obwohl es schon installiert ist.
<?xml version="1.0"?> <configuration> <startup><supportedRuntime version="v2.0.50727"/></startup> </configuration>
Hintergrund: .NET 3.5 hat keine eigene Runtime, sondern ist quasi ein Add-On auf das Framework 2.0.
Ich habe bei "Zielframework anpassen" auch nur die wahl zwischen 4.0 und 4.0 Client Profiel.
Ich habe gerade kein installiertes VC# 2010 Express zur Hand, bin aber der Meinung, dass Du dort auch die Frameworkversionen 2.0 bzw. 3.5 auswählen können solltest.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de -
Tut mir leid, dass ich hier "Leichen fleddere", aber ich habe genau dasselbe Problem. Ich kenne mich nicht so gut mit Assemblys aus, da das zum Glück eigentlich Visual Studio 2010 für mich tut. Ich habe bereits bei den Projekteigenschaften den Zielframework auf 3.5 geändert und bekomme dabei das Ergebnis, das zuletzt genannt wurde. Wenn ich aber mein Programm starte, bekomme ich Fehlermeldungen, dass A) einige Elemente wie "version" im Assembly nicht erkannt/gefunden werden, und dass B) einige Zeilen Code in der von mir nicht veränderten .resx-Datei nicht "Win32-zulässig" sind. Wie kann es sein, dass im Assembly gängige Begriffe nicht erkannt werden? Muss ich da auch importieren? Und bleibt mir nichts anderes übrig, als in die .resx-Datei reinzupfuschen, oder gibts da eine elegantere Lösung? Vielen Dank im Voraus.
-
Habe dasselbe Problem:
Habe im "4.0 Framework Client Profile" eine Anwendung geschrieben die in Kombination mit Microsoft.DirectX.DirectInput einen Assembly Fehler in VS2010 herbeiführt.
Fehlermeldung:
System.IO.FileLoadException: Die Assembly im gemischten Modus wurde während Version v1.1.4322 der Laufzeit erstellt und kann nicht während der 4.0-Laufzeit ohne zusätzliche Konfigurationsinformationen geladen werden.
Anschließend bin ich auf dieses Forum gestoßen und habe wie oben beschrieben zuerst unter Projekt-Eigenschaften das Framework auf 3.5 geändert. Jetzt kann ich jedoch mein Projekt nicht mehr ausführen, da meine Verweise nicht mehr erkannt weden. Dabei handelt es sich um folgende:
Microsoft.CSharp
Microsoft.Xna.Framework.Game
Dann habe ich Versucht im app.config die zu modifizieren:
<?xml version="1.0"?><br/> <configuration><br/> <startup><supportedRuntime version="v2.0.50727"/></startup><br/> </configuration><br/>
Das hat mir aber auch nicht weiter geholfen.
Bitte um Hilfe. Danke im Voraus.
-
Hallo,
der Eintrag ist so nicht vollständig, siehe
What does 'useLegacyV2RuntimeActivationPolicy' do in the .NET 4 config?und bei den Projekt-Eigenschaften weiterhin .NET 4.0 verwenden.
Gruß Elmar
-
Hallo Fred,
in Kurzfassung: Dort ist alles weggelassen, was man typischerweise nur für eine
Server-Anwendung benötigt, bzw. benötigen sollte (was nicht immer das gleiche ist ;-)Detaillierter siehe .NET Framework Client Profile
In Deinem Falle dürftest Du eine Assembly verwenden, die dort nicht enthalten ist.
Gruß Elmar