I've taken a deeper look at this problem and confirmed that it is a compatibility issue between NCrunch and the Xamarin toolset.
Although this is a netstandard project, adding the reference to Xamarin.Forms includes a range of Xamarin build targets including additional compilers and complex steps. So it's probably safe to say that when you do this, you're actually making a Xamarin project.
In my testing, the problem originated from the XamlCTask. It seems to be possible to selectively disable this for NCrunch builds by applying the _XamlCAlreadyExecuted property to the project, as such:
Code:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<_XamlCAlreadyExecuted Condition="'$(NCrunch)' == '1'">true</_XamlCAlreadyExecuted>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Xamarin.Forms" Version="3.0.0.482510" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Page1.xaml">
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
</EmbeddedResource>
</ItemGroup>
</Project>
Note that this will completely disable the Xamarin compile step when building the projects under NCrunch. Any code depending on the embedded resources produced by this step will likely fail. It may be enough to get your unit tests to function.
Unfortunately this is as far as I can go with providing support in this area. We have performed no development or testing with NCrunch on the Xamarin platform, so we cannot warrant that it will work and cannot invest time in investigating issues on an unsupported platform. If you'd like to see proper support added for Xamarin in future, you are most welcome to
vote for it on uservoice.