James Ko James Ko - 4 months ago 20
C# Question

How to call unsafe code from ASP.NET xproj

I created a class library today with the new

Class Library (Package)
templates in Visual Studio 2015. Apparently it uses a fancy new project format, the ASP.NET xproj, for building the package. While that's fine by me, how do I call unsafe code from the library? I looked into Project > Properties > Build, where the option to toggle unsafe code should be, but all I got was this:

enter image description here

So yeah, no such luck. I even tried pasting
"<AllowUnsafeBlocks>true</AllowUnsafeBlocks>"
manually into the .xproj file, but the compiler still complains.

Is it possible to enable this without creating another non-xproj assembly for the unsafe methods?

Answer

The ASP.NET 5 tools are not documented nearly well enough, but after scouring Google for half an hour I came across the solution.

In your project.json file, add this line:

{
    "buildOptions": { "allowUnsafe": true }
}

Source.