Multi-File-Assemblies mit VS?

17/02/2009 - 09:56 von Jochen Kalmbach [MVP] | Report spam
Hallo!

Mal eine ganz dumme Frage... ist es möglich wie VS-IDE, eine
"Multi-File-Assembly" zu erstellen?

In C++/CLI geht dies via "Assembly Link Resource" in den Linker
Einstellungen.

Hab diese Option bei C#-Compiler (csc) gefunden:
/linkresource
http://msdn.microsoft.com/de-de/lib...yf94k.aspx

Oder beim Linker (al): /LINK
http://msdn.microsoft.com/de-de/lib...5shex.aspx


Hab ich in der IDE irgend etwas übersehen?

Wenn es nicht über die IDE geht, kann man es irgendwie mit einem
"Post-Build-Step" machen? Aber da ist die Assembly ja schon fertig, oder?

Any hints are welcome ;)

Greetings
Jochen

My blog about Win32 and .NET
http://blog.kalmbachnet.de/
 

Lesen sie die antworten

#1 Frank Dzaebel
17/02/2009 - 10:55 | Warnen spam
Hallo Jochen,

Mal eine ganz dumme Frage... ist es möglich wie VS-IDE, eine
"Multi-File-Assembly" zu erstellen?



Würde man die Definition zugrundelegen, dass:

ein MFA eine Assembly ist, die aus mehr als
einer Datei besteht (Definition siehe [MS]-Link),

dann ginge das in der C#(IDE), denn man kann
in der IDE leicht eine Datei markieren und sie
im Eigenschaftenfenster/Buildvorgang/
auf "Eingebettete Ressource" stellen.
Ist das passiert, so kann man spàter
leicht über GetManifestResourceStream die Datei
wieder aus der Assembly extrahieren (und àhnlich)
http://groups.google.com/group/micr...b6b6aceffe

[GrantRi's WebLog [MS] : Multi-file Assemblies: What and How]
http://blogs.msdn.com/grantri/archi...75745.aspx

Nun ist die gàngige Definition aber wohl eher wie folgt:
http://zfs.informatik.rwth-aachen.d...e_assembly
dann würde man vermutlich eher sagen:

Die Visual Studio 2005-"IDE" für C#/VB kann nur
verwendet werden, um Einzeldateiassemblys zu erstellen.
Für die Erstellung von MFAs muss auf PostbuildSteps
(o.à.) zurückgegriffen werden. Also Dinge wie:
"/t:module" und "/addmodule":

[Gewusst wie: Erstellen einer Mehrfachdateiassembly]
http://msdn.microsoft.com/de-de/lib...t7yxe.aspx

und ggf. mit ILMerge oder MsBuild arbeiten:

[Download details: ILMerge
http://www.microsoft.com/DownLoads/...laylang=en

Das ganze ist aber IMHO eher ein Rand-Thema, da
es ja nun mal "möglich" ist, dies in C# letztlich
hinzubekommen und die Szenarien
in denen das wirklich sinnvoll ist,
sowas zu tun, sind auch begrenzt.


ciao Frank
Dipl. Inf. Frank Dzaebel [MCP, MVP C#]
http://Dzaebel.NET

Ähnliche fragen