Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   C# Namespace "System.Windows" nicht gefunden. (https://www.delphipraxis.net/77975-namespace-system-windows-nicht-gefunden.html)

DevilsCamp 27. Sep 2006 14:20


Namespace "System.Windows" nicht gefunden.
 
Ich habe im BDS2006 ein C#-Projekt angelegt (Konsolenprogramm) und folgenden Quellcode:

Code:
using System;

namespace MeinProjekt
{
   /// <summary>
   /// Zusammenfassende Beschreibung für Class.
   /// </summary>
   class ProjektKlasse
   {
      /// <summary>
      /// Der Haupteintrittspunkt für die Anwendung.
      /// </summary>
      [STAThread]
      static void Main(string[] args)
      {
         //
         // TODO: Hier Code zum Starten der Anwendung einfügen
         //
         string s = System.Windows.Forms.Application.ExecutablePath;

         Console.WriteLine(s);
      }
   }
}
Wenn ich aber nun versuche, diesen Code mit dem BDS zu compilieren, dann bekomme ich folgende Fehlermeldung:
Code:
[C# Fehler] Class.cs(19): Der Typ oder Namespacename 'Windows' ist in der Klasse oder dem Namespace 'System' nicht vorhanden (fehlt ein Assemblyverweis?)
Compiliere ich den Code allerdings auf der Kommandozeile:
Code:
csc ProjektKlasse.cs
dann kommen keine Fehler. Wer kann helfen?

DevilsCamp 27. Sep 2006 14:28

Re: Namespace "System.Windows" nicht gefunden.
 
ok, anscheinend lag es daran, dass das BDS einige Namespaces nicht zur Verfügung stellt, wenn man eine Konsolenanwendung schreiben möchte.


Wie könnte ich also herausfinden, wie der Dateiname (inkl. Pfad) der ausgeführten Datei lautet?

Elvis 27. Sep 2006 14:56

Re: Namespace "System.Windows" nicht gefunden.
 
Zitat:

Zitat von DevilsCamp
ok, anscheinend lag es daran, dass das BDS einige Namespaces nicht zur Verfügung stellt, wenn man eine Konsolenanwendung schreiben möchte.

Mag wohl daran liegen, dass SWF in einer Console App selten Sinn macht. ;)
Du solltest also System.Windows.Forms.dll als Referenz zu deinem Projekt hinzufügen. Sonst weiß der Compiler ja nicht wo er nach Klassen suchen soll.
Zitat:

Wie könnte ich also herausfinden, wie der Dateiname (inkl. Pfad) der ausgeführten Datei lautet?
Entweder "fully managed" über: Assembly.GetEntryAssembly().CodeBase
Oder wenn sichergehen willst, dass du einen Pfad bekommst: Application.ExecutablePath

DevilsCamp 27. Sep 2006 15:00

Re: Namespace "System.Windows" nicht gefunden.
 
Zitat:

Zitat von Elvis
Oder wenn sichergehen willst, dass du einen Pfad bekommst: Application.ExecutablePath

Und genau da liegt ja der Haken ;)

Application ist zu finden unter:
Code:
System.Windows.Forms
.....

DGL-luke 27. Sep 2006 15:13

Re: Namespace "System.Windows" nicht gefunden.
 
na dann bind das doch ein... :gruebel:

DevilsCamp 27. Sep 2006 15:14

Re: Namespace "System.Windows" nicht gefunden.
 
Schon getan. Aber für jemanden, der das erste mal C# im BDS nutzt ist das nicht gleich ersichtlich. Daher habe ich auch anfangs gefragt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz