动态创建的dll没有版本号

时间:2014-07-18 03:37:42

标签: c# .net dll

我想知道,如何为动态创建的dll分配版本号。我有一个迷你应用程序,为我的最终用户创建dll。但是目前,所有创建的dll都有0.0.0.0作为版本号。

很难跟踪最新的一个。是否有方法为动态创建的dll分配版本号。我试着搜索网但没有用。

请提出建议。我正在使用以下代码创建dll。

 // Setup for compiling
         var provider_options = new Dictionary<string, string>
                     {
                         {"CompilerVersion","v3.5"}
                     };
         var provider = new Microsoft.CSharp.CSharpCodeProvider(provider_options);

         var compiler_params = new System.CodeDom.Compiler.CompilerParameters();

         string outfile = @"D:\EDUnit.dll";
         compiler_params.OutputAssembly = outfile;
         compiler_params.GenerateExecutable = false;
         compiler_params.ReferencedAssemblies.Add("System.dll");


         // Compile
         var results = provider.CompileAssemblyFromSource(compiler_params, strbase)

1 个答案:

答案 0 :(得分:1)

您需要使用反射属性将其分配给源代码文件。代码提供程序将查找它,提取它并添加所需的元数据。按如下方式装饰您的源类

using System.Reflection;

[assembly: AssemblyVersion("2.1.0.0")]
[assembly: AssemblyFileVersion("2.1.0.0")]
public class Your_Class{}