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

时间:2016-04-23 05:23:31

标签: c# namespaces roslyn

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

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

抛出了以下异常:

  

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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