重现的步骤:
System.Memory
(点击包括预发布)将此代码复制粘贴到MainPage.cs
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
void Recursive(ReadOnlySpan<char> param)
{
if (param.Length == 0) return;
tx1.Text += Environment.NewLine;
tx1.Text += new string(param.ToArray());
Recursive(param.Slice(1));
}
ReadOnlySpan<char> mySpan = "Why things are always broken in Visual Studio".AsSpan();
Recursive(mySpan);
}
将其粘贴到MainPage.xaml
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<TextBlock x:Name="tx1" HorizontalAlignment="Left" FontSize="48" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>
</Grid>
从Debug切换到Release x64并确保“使用.Net Native工具链编译”。
点击播放。
收到此错误:
------ Build build:项目:App12,配置:发布x64 ------
App12 c:\ Users \ myuser \ documents \ visual studio 2017 \ Projects \ App12 \ App12 \ bin \ x64 \ Release \ App12.exe
处理申请代码
C:\ Users \ myuser.nuget \ packages \ microsoft.net.native.compiler \ 1.7.3 \ tools \ Microsoft.NetNative.targets(697,5):错误:内部编译器错误:对象引用未设置为实例一个对象。
==========构建:0成功,1失败,0最新,0跳过==========
==========部署:0成功,0失败,0跳过==========
我做错了什么?这适用于没有.NET Native的调试和发布。感谢。
答案 0 :(得分:3)
System.Memory处于预发布状态,但在.NET Native中不起作用。下一版本的.NET Native编译器将支持此功能。