【问题标题】:Why can't I use embedded resources (resx) when targeting .netstandard 1.3?面向 .netstandard 1.3 时,为什么我不能使用嵌入式资源 (resx)?
【发布时间】:2016-06-30 19:29:24
【问题描述】:

(问题副标题:.netstandard 1.3 不支持资源还是我的项目文件搞砸了?)

我刚刚在 Visual Studio 2015 Update 3 中创建了一个示例可移植类库,并添加了一个示例资源文件。最初,文件project.json 如下所示:

{
  "supports": {
    "net46.app": {},
    "uwp.10.0.app": {},
    "dnxcore50.app": {}
  },
  "dependencies": {
    "Microsoft.NETCore": "5.0.0",
    "Microsoft.NETCore.Portable.Compatibility": "1.0.0"
  },
  "frameworks": {
    "dotnet": {
      "imports": "portable-net452+win81"
    }
  }
}

很好:没有编译错误!

之后,我使用项目属性来定位.NETStandard 1.3

现在project.json 看起来像这样:

{
  "supports": {},
  "dependencies": {
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1",
    "NETStandard.Library": "1.6.0"
  },
  "frameworks": {
    "netstandard1.3": {}
  }
}

现在我收到以下构建错误 - 这意味着基本上不支持构建操作 EmbeddedRessource

我真的不是 project.json 的专家,但对我来说,事情看起来不一致 - 我不知道问题出在哪里。

  • 在第一个project.json:如果我支持net46,为什么要导入net452
  • 在第二个project.json:如果我使用netstandard1.3,为什么版本1.6中的库有依赖?
  • 最后,.NETPortable, Version=v5.0 是什么? .NET Core 的重命名已于今年年初进行 - 为什么我们仍然引用版本 5.0?甚至MSDN 也不知道<TargetFrameworkVersion>5.0</TargetFrameworkVersion>csproj 中指定

对我来说,netstandard 似乎不仅仅与可用的库有关,似乎也涉及到工具。但这并不能解释为什么它适用于dnxcore50

【问题讨论】:

  • 我怀疑这与通用 Windows 应用程序不使用 resx 文件这一事实有关。但是:通用 Windows 应用程序与 netstandard 1.4 及更高版本兼容...
  • 您对 resx 部分的看法是正确的,但 UWP 实际上与 netstandard1.4 兼容并且更低而不是更高。
  • 你说得对,我看了the matrix并误解了箭头。但它甚至写在那里:如果库面向 .NET Platform Standard 1.3 版,它只能在 .NET Framework 4.6 或更高版本、.NET Core、通用 Windows 平台 10 (UWP) 和 Mono/Xamarin 平台上运行.

标签: c# visual-studio csproj project.json


【解决方案1】:

您需要Diagnostics.ToolsResources.ResourceManager

我现在通过安装 pre 版本得到了这个工作(尽管适用于 .NET Standard 1.4):

  • “System.Diagnostics.Tools”:“4.3.0-preview1-24530-04”
  • “System.Resources.ResourceManager”:“4.3.0-preview1-24530-04”

【讨论】:

  • 如果我在一个干净的、新的、最新的 VS 2015 项目中再次尝试此操作,在我在 UWP 应用程序中安装包 System.Reflection.Emit.ILGeneration 后,它实际上可以工作。但我会标记你的答案,因为你给了我安装缺失包的提示。
  • 微软似乎已经创建了一个新的丛林,其中包含兼容和不太兼容的软件包、版本号和依赖项,如果您不是新 @ 的向导,则不太容易理解和管理987654324@-世界。我希望这将在未来得到清理和稳定。
  • 我相信它会的,很高兴你明白了
猜你喜欢
  • 1970-01-01
  • 2016-09-09
  • 1970-01-01
  • 2011-01-09
  • 1970-01-01
  • 2012-01-01
  • 1970-01-01
  • 2013-12-29
  • 1970-01-01
相关资源
最近更新 更多