Adding a new method (or methods) to your API should be done in such a way that it does not have any side effects on the existing API. Most importantly, someone who continues to use the old API as if the new API does not exist, should be unaffected by it. Using the old API should not have unexpected side effects on the new API either.
If any of the existing methods in the API are superseded by the new ones, do not remove them straight away. Mark them as deprecated and provide an explanation as to what should be used instead. That gives users of your code warning that future versions may no longer support it instead of breaking their code without warning.
If the new and old APIs are incompatible and cannot live together without unwanted side effects, separate them and document that if the new API is to be adopted, the old API must be retired completely. This is less desirable as there will always be someone that attempts to use both and gets frustrated when it doesn't work.
Since you asked about .NET specifically you may want to read this article about deprecation in .NET, which links to the ObsoleteAttribute
(used in the following example):
using System;
public sealed class App {
static void Main() {
// The line below causes the compiler to issue a warning:
// 'App.SomeDeprecatedMethod()' is obsolete: 'Do not call this method.'
SomeDeprecatedMethod();
}
// The method below is marked with the ObsoleteAttribute.
// Any code that attempts to call this method will get a warning.
[Obsolete("Do not call this method.")]
private static void SomeDeprecatedMethod() { }
}