繁体   English   中英

如何使用 roslyn 获取项目的默认命名空间?

[英]How get default namespace of project with roslyn?

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

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

引发了以下异常:

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

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

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

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

您可以在此处查看 Roslyn 的 Visual Studio 层如何获取默认命名空间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM