如何让C#生成的dll动态库文件,在被引用时带有注释备注提示

如何让C#生成的dll动态库文件,在被引用时带有注释备注提示

 

1、  注释的格式要规范,所有的注释都要使用下图所示的标准格式(在成员上面写三个“/”就会自动生成):

 

2、  把注释信息输出到xml文件,更改项目输出属性,勾选〈XML documentation file〉即可,如下图:


3、  最后一步,确保这个DLL被引用的时候,输出的xml文件也和DLL在同一个引用目录下面。




from: https://blog.csdn.net/aaa123524457/article/details/50419085


在刚开始用dll时,通常会有这种的疑问:为什么自己生成的dll会没有注释,.Net类型中的注释是怎么来的?后来才知道,为准备生成dll的类添加注释是有讲究的,是有格式规范的。
        要使生成的dll在“从元数据”查看的时候有注释,须先在项目属性中的“生成”一栏的输出选项上勾选“XML文档文件”。

        然后,在类中添加注释时用如下格式(在类、方法、属性上边连敲三个‘/’后,即自动出现):

[csharp]  view plain  copy
  1. /// <summary>  
  2. /// max of two  
  3. /// </summary>  
  4. /// <param name="a"></param>  
  5. /// <param name="b"></param>  
  6. /// <returns>max</returns>  
  7. public static int GetMax(int a, int b)  
  8. {  
  9.  return (a > b ? a : b);  
  10. }  

        

/// <summary>
/// 测试函数
/// </summary>
/// <param name="obj1">参数1</param>
/// <param name="obj2">参数2</param>
/// <returns>返回值</returns>
public  int  TestFun( object  obj1,  object  obj2)
{
     return  1;
}


可以看出注释是XML格式的,写好注释后再次“生成”,会发现同一目录下多出了一个与dll文件同名的XML文件,里面就是从程序集中提取的XML注释。
以后再从元数据查看定义时,就会发现上面多出了注释。



from: https://blog.csdn.net/helloword4217/article/details/8953948



  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
生成动态链接库(DLL)的过程大致如下: 1. 打开Visual Studio,创建一个新的DLL项目。 2. 在项目中添加所需的代码文件和资源文件。 3. 对代码进行编译和调试,确保没有错误。 4. 在生成选项中选择“生成DLL”。 5. 编译并生成DLL文件。 以下是一个简单的C#代码示例,演示如何动态生成DLL: ```csharp using System; using System.CodeDom.Compiler; using System.Reflection; using Microsoft.CSharp; public class GenerateDLL { public static void Main() { CSharpCodeProvider codeProvider = new CSharpCodeProvider(); CompilerParameters parameters = new CompilerParameters(); parameters.GenerateExecutable = false; parameters.OutputAssembly = "MyDLL.dll"; CompilerResults results = codeProvider.CompileAssemblyFromSource(parameters, @"public class MyDLLClass { public void MyMethod() { Console.WriteLine(""Hello from MyDLL!""); } }"); if (results.Errors.HasErrors) { Console.WriteLine("Compilation failed."); foreach (CompilerError error in results.Errors) { Console.WriteLine(error.ErrorText); } } else { Assembly assembly = results.CompiledAssembly; Type type = assembly.GetType("MyDLLClass"); object instance = Activator.CreateInstance(type); MethodInfo methodInfo = type.GetMethod("MyMethod"); methodInfo.Invoke(instance, null); } } } ``` 这个示例代码演示了如何使用CSharpCodeProvider类来编译C#代码,并将其生成为一个名为“MyDLL.dll”的动态链接库。然后,程序使用反射来加载并调用DLL中的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值