我可以从我的Web配置文件中访问程序集GUID

时间:2012-08-27 13:28:20

标签: c# .net vb.net

我的程序集信息中有一个GUID,它是在创建项目时自动创建的。 当前系统需要在数据库上匹配GUID,以便识别解决方案。

(是的,这是VB.net)

 <Assembly: Guid("43aca7cb-9360-4642-adc5-6d29b4732bed")> 

我正在做的是手动将此GUID复制到webconfig中作为解决方案的设置,将其添加到Settings.Designer.vb文件中。

阿拉

  <setting name="ApplicationId" serializeAs="String">
    <value>43aca7cb-9360-4642-adc5-6d29b4732bed</value>
  </setting>

从那里它被传递到数据库或任何地方。这样做并不是很麻烦,GUID不应该改变,但我不禁认为如果我不必在每个解决方案中复制GUID字符串会更整洁,但有一些引用了直接装配值。

这可能吗?

感谢您的任何信息。

1 个答案:

答案 0 :(得分:1)

类似的东西:

 var assemblyName = "System"; // assembly to get the guid

 var assembly = AppDomain.CurrentDomain
        .GetAssemblies()
        .FirstOrDefault(a => a.GetName().Name == assemblyName);

 var attr = assembly
        .GetCustomAttributes(false)
        .OfType<GuidAttribute>()
        .FirstOrDefault();

 var guid = attr.Value;

但IMO似乎更好地将guid保存在web.config中,因为它在那里“硬编码”。