小编Pon*_*iat的帖子

无法从WinRT中的xunit访问文件(该进程没有包标识)

我正在为我的WinRT项目编写一些单元测试(使用xunit).

我准备了带有json内容的文本文件.我把这个文件放到我的Test项目中,现在我想读取文件,解析json并检查一些东西.它适用于MS Test,但没有使用xUnit.

当我用xUnit运行测试时,我收到:

System.InvalidOperationException该进程没有包标识.(HRESULT异常:0x80073D54)

[Fact]
public async Task ProjectFile()
{
    var folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
    folder = await folder.GetFolderAsync("SampleData");

    var file = await folder.GetFileAsync("companies.txt");
    Assert.NotNull(file);

    var result = await Windows.Storage.FileIO.ReadTextAsync(file);
    Assert.True(result.Length > 0);
}
Run Code Online (Sandbox Code Playgroud)

我的IDE:

  • Visual Studio 2012 Pro更新3
  • WinRT项目
  • ReSharper 7.1.3
  • 的xUnit

有人可以在这帮吗?

file-io xunit xunit.net windows-runtime

5
推荐指数
1
解决办法
1053
查看次数

ResourceDictionary 源中的 Uri 语法(通用 Windows 平台)

我正在将我的Windows 8.1项目迁移到Windows 10(通用 Windows 平台)。这一刻我被ResourceDictionary变化阻止了UWP停住了。

为简单起见:我有包含 2 个项目的 Windows 8.1 解决方案:

App project (FooApp)+ Styles (FooStyles) project.
Run Code Online (Sandbox Code Playgroud)

FooApp 引用了 FooStyles,并且App.xaml我有:

<Application.Resources>
<ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="ms-appx:///FooStyles/Brushes.xaml"/>
    </ResourceDictionary.MergedDictionaries>
Run Code Online (Sandbox Code Playgroud)

ms-appx语法允许我访问其他项目的资源文件。现在,在 Windows 10 应用程序中,此功能不再起作用。编译结束并出现以下错误:

"An error occurred while finding the resource dictionary "ms-appx:///FooStyles/Brushes.xaml"."
Run Code Online (Sandbox Code Playgroud)

这里有什么建议来修复它吗?

PS 我不会将我的资源从 FooStyles 移动到 FooApp,因为在我的解决方案中,FooStyles 在 5 个其他应用程序项目之间共享。

c# xaml windows-10 uwp

4
推荐指数
1
解决办法
2421
查看次数

标签 统计

c# ×1

file-io ×1

uwp ×1

windows-10 ×1

windows-runtime ×1

xaml ×1

xunit ×1

xunit.net ×1