C# 我可以从webconfig文件访问程序集GUID吗

C# 我可以从webconfig文件访问程序集GUID吗,c#,.net,vb.net,C#,.net,Vb.net,我的程序集信息中有一个GUID,该GUID在创建项目时自动创建。 当前系统要求数据库上有匹配的GUID,以便识别解决方案 (是的,是VB.net) 我正在做的是手动将此GUID复制到webconfig中,作为解决方案的设置,从而将其添加到Settings.Designer.vb文件中 阿拉 43aca7cb-9360-4642-adc5-6d29b4732bed 从那里它被传递到数据库或任何地方。这样做不太麻烦,而且GUID不应该改变,但我忍不住认为,如果我不必在每个解决方案中复制GUI

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

(是的,是VB.net)


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

阿拉


43aca7cb-9360-4642-adc5-6d29b4732bed
从那里它被传递到数据库或任何地方。这样做不太麻烦,而且GUID不应该改变,但我忍不住认为,如果我不必在每个解决方案中复制GUID字符串,而是有一些直接引用程序集值的内容,那么会更整洁

这可能吗

谢谢您提供的任何信息。

类似于:

 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;
var assemblyName=“系统”//程序集以获取guid
var assembly=AppDomain.CurrentDomain
.getAssemblys()
.FirstOrDefault(a=>a.GetName().Name==assemblyName);
var attr=assembly
.GetCustomAttributes(false)
第()类
.FirstOrDefault();
var guid=属性值;

但是IMO似乎最好将guid保存在web.config中,因为它是“硬编码”的

谢谢,我认为可以在代码隐藏中执行此操作,因此看起来不能在WebConfig中仅包含[Assembly.Guid]之类的内容,或者可以在web.config的AppSettings中添加程序集名称,然后在运行时可以使用上面的代码从所需程序集读取Guid。无法执行[assembly.guid],如果您希望某些东西以某种特定方式工作,则必须编写一些代码。
  <setting name="ApplicationId" serializeAs="String">
    <value>43aca7cb-9360-4642-adc5-6d29b4732bed</value>
  </setting>
 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;