Versions, Errors and Chaos

  • Thread starter Thread starter Anil Gupte
  • Start date Start date
A

Anil Gupte

I reently made the move to Visual Studio 2005 using the express editions
downloaded from Microsoft's site. In 2003, I was not able to use some DLLs
in VB that were created in C# 2005. So I upgraded. Now I find that I still
can't use them. I can use DLLs written in C# 2005 in another C# app in the
same version, but not in VB 2005. Does this make any sense?

And in the first place why can't I use DLLs written in C# 2005 in VB 2003?
DLLs should be able to be used transparently. Is there any place this is
all discussed clearly i.e. what one can and cannot do in the Express
version? Should I just break down and get the Profesional Version? Any
thoughts?

Thanx,
 
Visual Studio 2003 targets the .Net 1.1 Framework.

Visual Studio 2005 targets the .Net 2.0 Framework.

I would guess that's why you can not use a 2005 dll in a 2003 project.

AFAIK, you should be able to use DLL's created in VS2005 in any language in
an application written in any other language. What exactly is the problem
you're seeing, and how are you creating it?

RobinS.
GoldMail.com
 
Anil,

You can use any version of DLL from C++, C# or VB for Net mixed in those
language, as long as you not are violating the common language rules about
this.

By instance one I know direct from my head is that you cannot use *Public*
members which have the same name in upper and lower case.

The later of course not for private or internal members as they are not
visible for other programs.

Cor
 
Actually I do have .Net Framework 2.0 installed. I noticed however that my
Add/Remove Programs also shows .Net Framework 1.1 as installed. Now I find
that in Visual Basic Express there are no Windows Service or Web Service
projects. nor are there any Setup & Deployment projects. Looks like I will
have to bite the bullet and just upgrade to Professional.

Thanx for the advice.
 
I reently made the move to Visual Studio 2005 using the express editions
downloaded from Microsoft's site. In 2003, I was not able to use some DLLs
in VB that were created in C# 2005.
Indeed.

So I upgraded. Now I find that I still
can't use them. I can use DLLs written in C# 2005 in another C# app in the
same version, but not in VB 2005. Does this make any sense?

No, that should work. What errors were you getting?
And in the first place why can't I use DLLs written in C# 2005 in VB 2003?

Because they're using the wrong runtime.
DLLs should be able to be used transparently.

Not necessarily. Trying to use a CLR-2.0 assembly within VB2003 is
like trying to load a 64-bit DLL on a 32-bit operating system... or
trying to load a Win32 DLL in Windows 3.1. VB2003 only uses the 1.1
CLR, which doesn't understand everything in the 2.0 CLR.
Is there any place this is
all discussed clearly i.e. what one can and cannot do in the Express
version? Should I just break down and get the Profesional Version? Any
thoughts?

I don't think this is an Express/Pro issue. The 2003/2005 part is a
CLR issue - but we'll have to see more information to understand the
2005/2005 issue.

Jon
 
Back
Top