jenspo
jenspo

Reputation: 524

how can i access internals in asp.net 5

Before asp.net 5 I would add "internalsVisibleTo(some.namespace.name)" to AssemblyInfo.cs - But I no longer have assemblyInfo.cs in my WebApi project.

How do I expose internals in a WebAPI project to my unitTest project?

Upvotes: 14

Views: 3614

Answers (3)

eddex
eddex

Reputation: 2182

While creating an AssemblyInfo.cs file is an option, I prefer to configure this in my project file.

Add this to your .csproj file:

<ItemGroup>
  <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
    <_Parameter1>$(AssemblyName).Tests</_Parameter1>
  </AssemblyAttribute>
</ItemGroup>

Upvotes: 2

Keith
Keith

Reputation: 21264

You can add your own AssemblyInfo.cs file. Just add a class file, name it AssemblyInfo.cs (or any name for that matter), and replace all of its code with the following line:

[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("some.assembly.name")]

Upvotes: 21

ahammond
ahammond

Reputation: 345

You can see an example of the above answer in action in the asp open sourced MVC project available on github:

https://github.com/aspnet/Mvc/blob/e2fd41e416ce1d84e13734ebfb56e64094607d01/src/Microsoft.AspNetCore.Mvc.Abstractions/Properties/AssemblyInfo.cs

One of the best ways of figuring this stuff out is to get in there and have a dig about.

Good luck.

Upvotes: 2

Related Questions