ASP.NET (and Core) controllers need to be public.
Problem is I have a controller which depends (in its constructor) on something internal.
Sou you have this (it always helps to include a MCVE in your question):
internal class FooDependency
{
}
public class FooController
{
public FooController(FooDependency dependency)
{
// ...
}
}
And you can't make FooDependency public, but you need FooController to be public?
Then you need to apply a public interface to the internal dependencies:
public interface IFooDependency
{
}
internal class FooDependency : IFooDependency
{
}
public class FooController
{
public FooController(IFooDependency dependency)
{
// ...
}
}