我的程序集信息中有一个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字符串会更整洁,但有一些引用了直接装配值。
这可能吗?
感谢您的任何信息。
答案 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中,因为它在那里“硬编码”。