相关疑难解决方法(0)

如何获得程序集的命名空间?

考虑我有一个使用以下代码加载的程序集(类库dll),

Assembly a = Assembly.LoadFrom(@"C:\Documents and Settings\E454935\My Documents\Visual Studio 2005\Projects\nunit_dll_hutt\for_hutt_proj\bin\Debug\asdf.dll");   
Run Code Online (Sandbox Code Playgroud)

我需要得到大会的类型.为了得到类型我需要程序集的命名空间.

Type t = asm.GetType("NAMESPACE.CLASSNAME",false,true);             
Run Code Online (Sandbox Code Playgroud)

如何在上面的行中获取命名空间.?!为了获得命名空间,我需要获取类型..?

Type.Namespace;
Run Code Online (Sandbox Code Playgroud)

即我需要获得可用于获取其类型的程序集的命名空间.

提前致谢

.net c# assemblies namespaces

32
推荐指数
3
解决办法
6万
查看次数

如何获得项目csproj的默认命名空间(VS 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对象)阅读?

namespaces projects-and-solutions csproj visual-studio-2008

9
推荐指数
2
解决办法
4722
查看次数

为什么 GetManifestResourceStream 返回 null(使用 dotnet core)

使用dotnet核心:.NET Core SDK版本:3.1.102

为什么以下返回 null

typeof(MyClassName).GetTypeInfo().Assembly.GetManifestResourceStream("MyFile.cs")
Run Code Online (Sandbox Code Playgroud)

我验证了该文件存在于解决方案中,并且在属性“嵌入式资源”中具有构建操作

.net c# reflection .net-assembly .net-core

7
推荐指数
1
解决办法
4582
查看次数

天真的程序集初始化是否有良好的模式?

假设我们有几个程序集,它们都实现了IAnimal,我们想去一个地方找出其他IAnimal实现的存在.

特征:

  • 我们不希望在集会之外进行预先知识

  • 程序集中可能有一个寄存器类/方法

  • 最好不要使用反射.到目前为止,这似乎是唯一的方法

讨论:

我想通过继承静态地做这个,但是,我不知道汇编级初始化序列.

.net c#

4
推荐指数
1
解决办法
170
查看次数