Frage

kann ich bauen 2 oder mehr dlls von C # -Projekt in Visual Studio 2008? , habe ich eine andere Idee nur 1 großes Projekt zu erstellen. Danach trenne ich ein Projekt dll (enthält viele Klassen.) In 1 dll pro Klasse mithilfe von Postbuildereignis Win App Projekt nennen (für separate eine große dll). Wie man dies tut?

Außerdem muss ich auch hängten Datei in einem großen dll verwalten.

Aktualisieren Ich fand einige Trick, führen könnte mir, dieses Problem zu lösen, indem sie Maßarbeit ? Außerdem denke ich, ich kann benutzerdefinierte Handler erstellen, die mithilfe von separater Modul Datei & Al.exe dynamische Baugruppendatei erzeugen. Aber diese Funktion ist über meine erwarten und unnessary (Sourcecode wird selten geändert).

Multi-Datei Baugruppen: Was und wie

Gewusst wie: Erstellen Sie eine Multifile Assembly

POCO Benutzerdefinierte Multifile Assembly und ReSharper

Danke,

War es hilfreich?

Lösung 3

Dieses Problem wird durch benutzerdefinierte Skript für MSBuild gelöst wird, die in einer anderen Frage erklärt wurde.

<ItemGroup> 
  <Compile Include="Class1.cs"> 
    <Plugin>true</Plugin> 
  </Compile> 
  <Compile Include="Class2.cs" /> 
  <Compile Include="Class3.cs"> 
    <Plugin>true</Plugin> 
  </Compile> 
  <Compile Include="Program.cs" /> 
  <Compile Include="Properties\AssemblyInfo.cs" /> 
</ItemGroup> 

Visual Studio ein Projekt mit mehreren DLLs als Ausgabe

Danke @franko_camron für Vorschlag.

Andere Tipps

Just ... warum? Mit vielen DLLs können beeinträchtigt die Leistung App Inbetriebnahme hat (wegen „Fusion“). Es wird auch ziemlich viel sofort leidet unter Kreis Referenzen, die ein Schlimme ist, .

Da .NET-Code (Standard) JITted wird, wenn zum ersten Mal verwendet, gibt es nicht eine riesige Menge von Auswirkungen in mit zusätzlichen Klassen in einer DLL, die in dieser Anwendung nicht gewöhnen. Sie sitzen einfach da, ruhig, nicht zu jemandem der Mühe zu sein.

Die schiere Management Kosten für eine DLL pro Klasse hat, wird Bereitstellung etc quälende machen.

Alles in allem kann ich denke nicht, aus einem vernünftigen Grund, dies zu tun ...

Die Antwort, die Sie hier wird es nicht anders aus der Antwort in die andere Frage lautet: für jeden einzelnen dll in einem separaten Projekt setzen.

Was ich möchte Sie fragen, was Ihr Verständnis für die Definition einer „Klasse“ ist. Eine Klasse pro DLL wahrscheinlich bedeutet, dass Sie nicht sehr vertraut mit, wie Baugruppen, Namespaces und Klassen arbeiten.

Bitte geben Sie uns, was wollen Sie wirklich in der Lage sein, zu tun? Denn das, was Sie denken, sollten Sie dieses Problem zu lösen, tun (zum Beispiel der Schaffung einer DLL pro Klasse) ist nicht praktikabel.

Aktualisieren

In Anbetracht der Kontext Ihrer Anforderung (zB Silverlight Web-Anwendung), meine Schlussfolgerung ist, dass Ihre Klassen auf mehrere DLLs Aufspalten nicht in einer Leistungsverbesserung führen in einer ASP.NET-Webseite, weil:

  • DLLs nur vom Server verwendet werden, sind sie nicht heruntergeladen via HTTP an Ihren Browser
  • Sobald eine DLL von einer Web-Anwendung geladen wird es nicht wieder geladen werden - unabhängig davon, wie viele Nutzer Ihrer Website zur gleichen Zeit verwenden. Eine DLL-Instanz pro Server.
  • Wenn Sie Ihre Web-Anwendung starten wird es laden alle DLLs, die es zu kompilieren hing davon ab, zu, ob Sie es verwenden werden.

So mit Ihren Anforderungen, ist es wahrscheinlich nicht am besten Silverlight für Ihre Anwendung zu verwenden, die Bandbreitenbegrenzung unter Berücksichtigung. Die Wege können Sie erforschen sind:

  • Lernen AJAX-Techniken, speziell JSON, (und wahrscheinlich nicht ASP.NET AJAX und sein leicht zu Missbrauch Update)
  • jQuery Lernen Kontrollen zu finden, die in JavaScript implementieren, was Sie Silverlight mit
  • tun wollen
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top