J
Joshua Frank
Hi,
Maybe I'm doing something wrong here, but I'm having a very frustrating
time trying to make the VS.NET IDE happy with references. Suppose I
have projects A.exe, B.dll, and C.dll all in one solution. Suppose A
references B and C, and B references C. If I have all projects in one
IDE and I update the references so that all references refer to the
loaded projects, everything's fine. But if I remove one of the
projects, I have to find all the references to it and readd the
reference to the compiled DLL. This is annoying; VB6 let you set binary
compatibility and when you remove the project from the IDE, it
automatically found the right DLL.
But worse than this is that the IDE constantly gets confused about
references. If I do reasonable things like remove project B from the
solution and then recompile project C, all my references get messed up
and I get errors like:
Warning: The dependency 'BIS.Exceptions, Version=1.0.0.27,
Culture=neutral' in project 'BIS.PubsDirect.Cleaner' cannot be copied to
the run directory because it would overwrite the reference
'BIS.Exceptions, Version=1.0.3.3, Culture=neutral'.
I also get this one all the time:
Warning: The dependency 'BIS.PubsDirect.Shared.dll, Version=1.0.0.1,
Culture=neutral' in project 'BIS.PubsDirect.Shared' cannot be copied to
the run directory because it
would overwrite the reference 'BIS.PubsDirect.Shared.dll,
Version=1.0.0.0, Culture=neutral'
When I have add projects, as I often do, the problem increased
exponentially and I wind up recompiling everything in sight all the
time. This sucks.
So the question is, how can I have something like binary compatibility
so that I can build a component (without changing the interface) and
components that use it will continue to work without the IDE
complaining? Note that I'm using well defined version numbers, like
1.2.3.4, and I am updating the build number on every build (via a macro).
Any help would be greatly appreciated as this is making me crazy. Thanks.
Cheers,
Josh
Maybe I'm doing something wrong here, but I'm having a very frustrating
time trying to make the VS.NET IDE happy with references. Suppose I
have projects A.exe, B.dll, and C.dll all in one solution. Suppose A
references B and C, and B references C. If I have all projects in one
IDE and I update the references so that all references refer to the
loaded projects, everything's fine. But if I remove one of the
projects, I have to find all the references to it and readd the
reference to the compiled DLL. This is annoying; VB6 let you set binary
compatibility and when you remove the project from the IDE, it
automatically found the right DLL.
But worse than this is that the IDE constantly gets confused about
references. If I do reasonable things like remove project B from the
solution and then recompile project C, all my references get messed up
and I get errors like:
Warning: The dependency 'BIS.Exceptions, Version=1.0.0.27,
Culture=neutral' in project 'BIS.PubsDirect.Cleaner' cannot be copied to
the run directory because it would overwrite the reference
'BIS.Exceptions, Version=1.0.3.3, Culture=neutral'.
I also get this one all the time:
Warning: The dependency 'BIS.PubsDirect.Shared.dll, Version=1.0.0.1,
Culture=neutral' in project 'BIS.PubsDirect.Shared' cannot be copied to
the run directory because it
would overwrite the reference 'BIS.PubsDirect.Shared.dll,
Version=1.0.0.0, Culture=neutral'
When I have add projects, as I often do, the problem increased
exponentially and I wind up recompiling everything in sight all the
time. This sucks.
So the question is, how can I have something like binary compatibility
so that I can build a component (without changing the interface) and
components that use it will continue to work without the IDE
complaining? Note that I'm using well defined version numbers, like
1.2.3.4, and I am updating the build number on every build (via a macro).
Any help would be greatly appreciated as this is making me crazy. Thanks.
Cheers,
Josh