【问题标题】:How to set the root namespace in project.json for .NET Core?如何在 project.json 中为 .NET Core 设置根命名空间?
【发布时间】:2016-05-17 21:09:43
【问题描述】:

在典型的 .NET Framework 应用程序中,您可以在 .csproj 文件的 <RootNamespace> 属性中设置根命名空间,然后通过该属性为嵌入式资源等设置根命名空间。

在 .NET Core 世界中(从 RC2 开始),如何在 project.json 中设置根命名空间以在运行时获得相同的结果?

【问题讨论】:

标签: c# embedded-resource .net-core .net-core-rc2


【解决方案1】:

根命名空间是 Visual Studio 中的一个概念,用于在构建类文件(从模板)时自动创建命名空间。您可以在 .NET Core 项目的 .xproj 文件中找到该设置(因为它们是 Visual Studio 和 .NET Core 工具之间的桥梁)。

其他可以编辑 .NET Core 项目(如 Atom 或类似项目)的编辑器使用自己的脚手架技术,并且没有“根命名空间”的概念(也不使用 .xproj 文件)。因此,不需要在 project.json 中进行设置。

关于资源使用:Image as resource in Asp.Net 5 class library

ps:由于 .xproj 是一个 msbuild 文件,并且 Microsoft 为最终的 .NET Core 工具切换到 msbuild,因此该答案可能会过时(但我想不会,因为脚手架不是 msbuild 的故事)。

【讨论】:

  • 具体来说,我正在尝试找到一种方法来解决 .NET Fanework 和 .NET Core 在嵌入式资源名称方面的差异:github.com/martincostello/project-euler/blob/dot-net-core/src/…
  • 我看到了你的问题。它看起来像是 msbuild 和 project.json 实现之间的区别。我认为没有修复,除了可能在 csproj 中弄乱你的根命名空间(模拟相同的资源标识符字符串)。对你有好处:随着时间的推移会自行解决,因为 .NET Core 将切换到 msbuild。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多