473,701 Members | 2,556 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 8168
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
10700
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
6982
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
8328
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
1410
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
1968
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
1784
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
1044
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
3612
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
8736
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8649
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9083
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
8977
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
7824
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
6571
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
4410
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
3102
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
2035
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.