Ich arbeite an einer Aufgabe, die "Keine externen Bibliotheken verwenden" angegeben hat. Also habe ich eine c # -Anwendung erstellt, und das erste, was ich getan habe, war, alle Referenzen der DLL standardmäßig zu entfernen ... einschließlich "System.dll".
Allerdings kann ich das noch zu meinem Code hinzufügen:
%Vor%Ich war nur neugierig, wie ich brauche, System.dll als Referenz in meinem Projekt zu haben, um dies zu tun. Danke!
Verschiedene Assemblies können zum selben Namespace beitragen.
Auch wenn Sie nicht auf System.dll verweisen, verweisen Sie immer noch (implizit) auf mscorlib.dll, die viele Typen zum System
-Namespace beiträgt.
Diese Referenzen sind wahrscheinlich in Ihrer Web.config
- oder Machine.config
-Datei definiert, daher sind sie standardmäßig enthalten.
Wenn Sie direkt über die Befehlszeile kompilieren, wird eine andere Gruppe von Switches, einschließlich Standardbibliotheksreferenzen, vom Compiler über die Standardantwortdatei (csc.rsp) analysiert, die sich im dasselbe Verzeichnis wie der Compiler. Die Tatsache, dass Sie in der Lage sind, Namespaces aus der Basisklassenbibliothek zu importieren, ohne sie explizit während der Kompilierung zu referenzieren, liegt an der Tatsache, dass die enthaltenen Assemblys standardmäßig in Ihrem Programm enthalten sind. Um dieses Verhalten in der Befehlszeile zu ändern, können Sie mithilfe der Option / nostdlib erzwingen, dass mscorlib.dll nicht eingeschlossen wird, oder Sie können / noconfig verwenden, um die gesamte Standardantwortdatei vollständig zu ignorieren. Außerdem bin ich mir nicht sicher, was Sie mit system.dll meinen, denn die von Ihnen erwähnten Namespaces sind in mscorlib.dll enthalten. Außerdem denke ich, dass Ihr Kursleiter unter "externe Bibliothek" alle Drittanbieter-Assemblys gemeint haben muss, die Sie bei der Lösung des Problems unterstützen. Alles, was mit dem .NET SDK geliefert wird, wäre eher eine Framework-Bibliothek. Es sei denn, dein Lehrer ist wirklich hart und möchte, dass du das Rad neu erfindest: P
Tags und Links c# visual-studio-2010