473,749 Members | 2,636 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

what are multi file assemblies good for?

What are multi file assemblies good for?
What are the advantages of using multiple assemblies (A.DLL+B.DLL) vs. a
single multi file assembly (A.DLL+A.NETMOD ULE)?
Jul 21 '05 #1
6 8177
Hi Cody,

Multi-file assemblies are simply assemblies that consist of more than one
file.
Multi-file assemblies are basically used when you want an inter-operability
between different languages,i.e,
maybe some of your programmers only know VB, maybe you need to interop with
some old C/C++ code.
Now you could put each language in its own assembly, but then you get stuck
with a poor organization model.
So,you can have multi-file assemblies where each file may be for a different
language.
You can read up more on this on the following link:
[Multi-file Assemblies]
http://blogs.msdn.com/grantri/archiv...07/175745.aspx

The biggest advantage of using multi-file assemblies over multiple
assemblies was a more compact organization model.
But,now in the coming version of VB.NET,i.e,Whid bey,you can have a single
file assembly with, VB, C#, C++, and
even native code all in one file! Theoretically you can even link classic
static .LIBs into your brand new C# assembly.
So,multi-file assemblies are on their way out!

HTH

Mona

"cody" <de********@gmx .de> wrote in message
news:%2******** ********@TK2MSF TNGP15.phx.gbl. ..
What are multi file assemblies good for?
What are the advantages of using multiple assemblies (A.DLL+B.DLL) vs. a
single multi file assembly (A.DLL+A.NETMOD ULE)?

Jul 21 '05 #2
cody wrote:
What are multi file assemblies good for?
What are the advantages of using multiple assemblies (A.DLL+B.DLL)
vs. a single multi file assembly (A.DLL+A.NETMOD ULE)?


An assembly is a unit of deployment, type definition and security. A module
is just a module - it takes its security permissions from the assembly, and
it cannot be deployed on its own. Having multiple assemblies means that you
can put code that require few permissions in one and types that require many
permissions in another assembly. (Each assembly can be marked as requiring
certain minimum, permissions). This means that if the code is downloaded,
the assembly (and hence the types within) that require the few permissions
will load, but the assemblies requiring many permissions may not load.

As to an assembly made up of multiple modules, well, take a lesson from
Microsoft - all the framework libraries are single modules.

Richard
--
www.richardgrimes.com
my email ev******@zicf.b et is encrypted with ROT13 (www.rot13.org)
Jul 21 '05 #3
As to an assembly made up of multiple modules, well, take a lesson from
Microsoft - all the framework libraries are single modules.


Except System.Enterpri seServices

Mattias

--
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
Jul 21 '05 #4
And what was the reason the splitted it up?

"Mattias Sjögren" <ma************ ********@mvps.o rg> schrieb im Newsbeitrag
news:O7******** ******@TK2MSFTN GP11.phx.gbl...
As to an assembly made up of multiple modules, well, take a lesson from
Microsoft - all the framework libraries are single modules.


Except System.Enterpri seServices

Mattias

--
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.

Jul 21 '05 #5
And what was the reason the splitted it up?


I believe System.Enterpri seServices.dll is written in C# and
System.Enterpri seServices.Thun k.dll
(System.Enterpr iseServices.Wra pper.dll in Whidbey) is implemented in
C++. So the reason is more or less what Mona wrote.

Mattias

--
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
Jul 21 '05 #6
Mattias Sjögren wrote:
As to an assembly made up of multiple modules, well, take a lesson
from Microsoft - all the framework libraries are single modules.


Except System.Enterpri seServices


There's always one black sheep in the family ;-)

The extra module is the thunk layer used to squeeze COM+ into .NET, so I
regard it as an exception. Of course, if the OP intends to do something
similar then a multi-module file is a good solution, but I reckon not many
developers are likely to have a problem like that. :-)

Richard
--
www.richardgrimes.com
my email ev******@zicf.b et is encrypted with ROT13 (www.rot13.org)
Jul 21 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
10702
by: Joel Leong | last post by:
I wish to know the industrial practices for signing assemblies with key files. I genereted a key file to sign my assemblies. Should I sign all my assemblies with a single key files or I shall generate one key file for each assembly? Perhaps, I should generate a key file per group of related assemblies?
2
6984
by: msnews.microsoft.com | last post by:
How can we access an internal class in a referenced file in a multi-file assembly. All documentation states the obvious purpose of the internal keyword on a class, but when referencing an assembly, I fear it means single-file assembly. That means even if the assembly is strong-named and versioned, it will not reach internal classes. So much for code reuse while hiding classes from external objects. I can't find examples or explanations...
4
8330
by: Mountain Bikn' Guy | last post by:
I am having serious problems with the following IDE bug: Could not write to output file 'x.dll' -- 'The process cannot access the file because it is being used by another process. ' and BUG: "Could Not Copy Temporary Files to the Output Directory" Error Message When You Build a Solution That Contains Multiple Projects I have tried all the solutions in Microsoft Knowledge Base Article - 313512.
1
1415
by: Bob Rock | last post by:
Hello, I was wondering when multi-file assemblies may be useful. With multi-file assemblies you may place inside the same assembly netmodules coded in different languages and as a consequence code from a module may obviously utilize private and internal classes defined in other module (maybe even coded in different languages). Apart this I personally see no other reasons to using multi-file assemblies.
3
1969
by: jlea | last post by:
I'm receiving the error message shown below when I try to load an aspx file (C# web application) on our server. The web application works fine if I remove the reference to the dll so I know the application and IIS are both ok. I ran depends on the dll and all referenced dlls are either in system32 or in the bin directory of the web application. I suspect it is some kind of security issue. Any help will be greatly appreciated. Jon Lea
2
1787
by: Bernd | last post by:
I'm stumped. I would like to create a single file executable for a vb project that also calls a c# project
6
332
by: cody | last post by:
What are multi file assemblies good for? What are the advantages of using multiple assemblies (A.DLL+B.DLL) vs. a single multi file assembly (A.DLL+A.NETMODULE)?
0
1053
by: Tuncay Baskan | last post by:
http://groups.google.com/group/microsoft.public.dotnet.general/browse_frm/thread/ec39c22f6b90c1ee/6037d3498eef290d It is quite amazing that 3 long years passed but Visual Studio 2005 Intellisense can't handle multi-file assemblies yet. Maybe the bug database crashed :-) Also why can't we still get IDE support for modules? I think only a few lines in .csproj must change (<OutputTypeand <Reference>). MSBuild does the rest.
2
3615
by: Rod | last post by:
I've been struggling with this thing for 2 days, and after searching the 'net for help, I cannot find what is wrong. We're using Crystal Reports XI Release 2, with Visual Studio .NET 2003 in an ASP.NET 1.1 application. I've got a CrystralReportsViewer control on an ASP.NET page. Once the page gets hit I get the following error message (this is running on my development machine):
0
9568
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9389
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
9335
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9256
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8257
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6801
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6079
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
1
3320
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
2218
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.