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)
{
// ...
}
}