Kiq*_*net 9 namespaces projects-and-solutions csproj visual-studio-2008
我有VS 2008和csproj项目(C#Library).
在项目的属性中,具有程序集名称和默认名称空间.注意:每个类都有一个名称空间.
是否有可能在运行时获取默认命名空间的值?
我的目标是使用资源,我需要默认命名空间的值:
Assembly assembly = Assembly.GetExecutingAssembly();
//foreach (string resourceName in assembly.GetManifestResourceNames()){}
Stream syntaxModeStream = assembly.GetManifestResourceStream(pathToResources
+ ".SyntaxModes.xml");
Run Code Online (Sandbox Code Playgroud)
更新:
彼得说我做不到.默认命名空间不存储在程序集中
var resource = assembly.GetManifestResourceNames().Single(p => p.EndsWith(".SyntaxModes.Xml"))
Run Code Online (Sandbox Code Playgroud)
存储的默认命名空间在哪里?
我只能使用Addins Visual Studio(DTE对象)阅读?
Pie*_*kel 16
你不能.
默认命名空间不存储在程序集中的任何位置.它只是Visual Studio的项目设置.
我倾向于使用程序集的名称:Assembly.GetName().Name.这个问题是它只有在程序集名称没有改变时才有效.
对于您的特定问题,您可以使用assembly.GetManifestResourceNames()并对这些名称进行一些测试,例如:
string name = assembly.GetManifestResourceNames().Single(p => p.EndsWith(".SyntaxModes.Xml"))
Run Code Online (Sandbox Code Playgroud)
不是100%确定它是你正在寻找的,但你可以使用以下命令获取命名空间:
this.GetType().Namespace
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4722 次 |
| 最近记录: |