I've observed something happening in VS.NET using C# and would like to
know whether this is a bug or not. Recreating it is simple:
1. Create a Class Library project.
2. The Class Library should contain the following:
using System;
namespace TestDebugging {
public class SomeClass {
public static int Method1() {
int i=10;
return i;
}
}
}
3. Compile the Class Library.
4. Create a ConsoleApplication.
5. Add a reference within the console app to
the Class Library above, with Copy Local set to True.
6. The console app should contain the following:
using System;
namespace TestDebugging {
class ConsumerClass {
static void Main(string[] args) {
int i = SomeClass.Method1();
Console.WriteLine( i.ToString() );
Console.Read();
}
}
}
7. Compile the console app.
8. Put a breakpoint within the Method1() method in
the class library, set the class library's Debug Mode
to Program, and set the Start Application to the console
app above.
9. Hit F5 - everything works as expected.
10. Now the good part - make a change to the Class Library by
altering the integer
returned in Method1() - say i=99. Recompile the Class Library
ONLY.
11. Hit F5 again - VS.NET steps into the class library, and runs
the line i=99. However, the Console reads the old number, 10.
Comments please.
You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.