Windows 8 ContentIndexer不适用于Windows 10创建者更新

Windows 8 ContentIndexer不适用于Windows 10创建者更新,windows-8,windows-10-universal,indexer,content-indexing,creators-update,Windows 8,Windows 10 Universal,Indexer,Content Indexing,Creators Update,我正在开发一个旧的Windows 8应用程序,它使用Windows中的ContentIndexer为应用程序中的搜索引擎建立索引。在我将我的计算机更新到上一次创建者更新之前,它一直运行良好。调用AddAsync函数时出现异常: var indexer = Windows.Storage.Search.ContentIndexer.GetIndexer(); await indexer.AddAsync(content); 异常为:来自HRESULT的异常:0x80040DB4 内部异常为空:(

我正在开发一个旧的Windows 8应用程序,它使用Windows中的ContentIndexer为应用程序中的搜索引擎建立索引。在我将我的计算机更新到上一次创建者更新之前,它一直运行良好。调用AddAsync函数时出现异常:

var indexer = Windows.Storage.Search.ContentIndexer.GetIndexer();
await indexer.AddAsync(content);
异常为:来自HRESULT的异常:0x80040DB4

内部异常为空:(

仅供参考,仅当我在具有Creators更新的计算机上部署我的应用程序时,才会引发此异常。它仍在Windows 8和Windows 10上使用以前的更新

我还试图创建一个空白的Windows10UWP应用程序,看看ContentIndexer是否正常工作,但也失败了

你有办法解决这个问题吗

谢谢

仅供参考,仅当我在具有Creators更新的计算机上部署我的应用程序时,才会引发此异常。它仍在Windows 8和Windows 10上使用以前的更新

问题是内容的
Stream
属性不可用。奇怪的是,如果您不设置
Stream
StreamContentType
属性,它会工作的!我将向相关团队报告此问题。目前向索引器添加内容的一种解决方法是,您可以使用添加索引

public异步静态任务AddAppContentFilesToIndexedFolder()
{
var localFolder=Windows.Storage.ApplicationData.Current.localFolder;
var installDirectory=Windows.ApplicationModel.Package.Current.InstalledLocation;
var outputString=“添加到“索引”文件夹的项目:”;
var appContentFolder=await installDirectory.GetFolderAsync(“AppContentMS”);
var indexedFolder=await localFolder.CreateFolderAsync(“index”,Windows.Storage.CreationCollisionOption.OpenIfExists);
var files=等待appContentFolder.getFileAsync();
foreach(文件中的var文件)
{
outputString+=“\n”+file.DisplayName+file.FileType;
wait file.copyanc(indexedFolder、file.Name、Windows.Storage.namecollisonoption.ReplaceExisting);
}
返回输出字符串;
}
有关更多信息,您可以参考示例并选择添加要编制索引的应用程序内容文件

仅供参考,仅当我在具有Creators更新的计算机上部署我的应用程序时,才会引发此异常。它仍在Windows 8和Windows 10上使用以前的更新

问题是内容的
Stream
属性不可用。奇怪的是,如果您不设置
Stream
StreamContentType
属性,它会工作的!我将向相关团队报告此问题。目前向索引器添加内容的一种解决方法是,您可以使用添加索引

public异步静态任务AddAppContentFilesToIndexedFolder()
{
var localFolder=Windows.Storage.ApplicationData.Current.localFolder;
var installDirectory=Windows.ApplicationModel.Package.Current.InstalledLocation;
var outputString=“添加到“索引”文件夹的项目:”;
var appContentFolder=await installDirectory.GetFolderAsync(“AppContentMS”);
var indexedFolder=await localFolder.CreateFolderAsync(“index”,Windows.Storage.CreationCollisionOption.OpenIfExists);
var files=等待appContentFolder.getFileAsync();
foreach(文件中的var文件)
{
outputString+=“\n”+file.DisplayName+file.FileType;
wait file.copyanc(indexedFolder、file.Name、Windows.Storage.namecollisonoption.ReplaceExisting);
}
返回输出字符串;
}

有关更多信息,您可以参考示例并选择添加要索引的应用程序内容文件方案。

0x80040DB4=GTHR\u E\u PIPE\u NOT\u connected=筛选过程已终止。搜索索引器服务正在运行还是已停止?该服务正在运行,我也尝试停止并重新启动,但未发生任何更改:(0x80040DB4=GTHR_E_PIPE_NOT_connected=筛选过程已终止。搜索索引器服务是否正在运行或已停止?该服务正在运行,我也尝试停止并重新启动它,但未发生任何更改:(感谢您的回答,但不幸的是,我已经在我的应用程序和Windows 10 UWP应用程序中使用了IndexableContent。此外,最后一个应用程序中的代码已经基于您在回答中提供的ContentIndexer示例。是的,我已将此问题报告给相关团队,感谢您的反馈!@NicoZhu MSFT您有任何fe吗edbacks关于相关团队的错误?感谢您的回答,但不幸的是,我已经在我的应用程序和Windows 10 UWP应用程序中使用了IndexableContent。此外,最后一个应用程序中的代码已经基于您在回答中提供的ContentIndexer示例。是的,我已经向相关团队报告了此问题,谢谢感谢您的反馈!@NicoZhu MSFT您有相关团队对该漏洞的反馈吗?谢谢
public async static Task<string> AddAppContentFilesToIndexedFolder()
{
    var localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;
    var installDirectory = Windows.ApplicationModel.Package.Current.InstalledLocation;
    var outputString = "Items added to the \"Indexed\" folder:";
    var appContentFolder = await installDirectory.GetFolderAsync("appcontent-ms");
    var indexedFolder = await localFolder.CreateFolderAsync("Indexed", Windows.Storage.CreationCollisionOption.OpenIfExists);
    var files = await appContentFolder.GetFilesAsync();
    foreach (var file in files)
    {
        outputString += "\n" + file.DisplayName + file.FileType;
        await file.CopyAsync(indexedFolder, file.Name, Windows.Storage.NameCollisionOption.ReplaceExisting);
    }
    return outputString;
}