【问题标题】:How get default namespace of project with roslyn?如何使用 roslyn 获取项目的默认命名空间?
【发布时间】:2016-08-16 20:40:52
【问题描述】:

我有一个 c# 项目。我已将 NameSpaceDeclarationSyntax 例如 namespace1 重命名为 namespace2 。 当我用 Visual Studio 和 roslyn api 编译这个项目时,我发现 Visual Studio 已经将项目的所有资源嵌入到 namespace2 中,只是属性文件夹中的资源文件已经嵌入了项目的默认命名空间。

我已经用 roslyn 嵌入了 namespace2 的所有资源,因此它没有运行。

抛出了以下异常:

找不到任何适合指定文化或中立文化的资源。确保 namespace1.properties.Resources.resources 正确嵌入或链接到程序集“assemblyname”...

我必须更改项目的默认命名空间或获取默认命名空间并嵌入,但我不知道如何查找或更改项目的默认命名空间?

【问题讨论】:

标签: c# namespaces roslyn


【解决方案1】:

默认命名空间是 MSBuild 和 Visual Studio 的属性,而不是编译器本身。因此,您不会在 Roslyn API 中找到它。

相反,您可以直接在项目文件中更改<RootNamespace> 元素。

您可以看到 Roslyn 的 Visual Studio 层如何获得默认命名空间 here

【讨论】:

  • 链接已损坏。
猜你喜欢
  • 2015-06-11
  • 2018-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-19
  • 2022-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多