无法使用GetExecutionGassembly和GetCustomAttributes在C#中获取程序集guid
我试图从C#中的程序集获取无法使用GetExecutionGassembly和GetCustomAttributes在C#中获取程序集guid,c#,wpf,C#,Wpf,我试图从C#中的程序集获取Guid,但未成功。我在以下帖子中看到了推荐的方法: 使用getExecutionGassembly和GetCustomAttributes。我已在以下代码中尝试了此操作: /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow(
Guid
,但未成功。我在以下帖子中看到了推荐的方法:
使用getExecutionGassembly
和GetCustomAttributes
。我已在以下代码中尝试了此操作:
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
string dataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
Console.Write("Data path: ");
Console.WriteLine(dataPath);
string localDataPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
Console.Write("Local data path: ");
Console.WriteLine(localDataPath);
string userPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
Console.Write("User path: ");
Console.WriteLine(userPath);
Assembly asm = Assembly.GetExecutingAssembly();
var attribs = (asm.GetCustomAttributes(typeof(GuidAttribute), true));
Console.WriteLine("Attr array length: " + attribs.Length);
/*
Guid assGuid = new Guid((attribs[0] as GuidAttribute).Value);
Console.WriteLine("Guid string: " + assGuid.ToString());
*/
}
}
//
///MainWindow.xaml的交互逻辑
///
公共部分类主窗口:窗口
{
公共主窗口()
{
初始化组件();
字符串dataPath=Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
写入(“数据路径:”);
Console.WriteLine(数据路径);
字符串localDataPath=Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
写入(“本地数据路径:”);
Console.WriteLine(localDataPath);
字符串userPath=Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
写入(“用户路径:”);
Console.WriteLine(userPath);
Assembly asm=Assembly.getExecutionGassembly();
var attribs=(asm.GetCustomAttributes(typeof(GuidAttribute),true));
WriteLine(“Attr数组长度:+attribs.length”);
/*
Guid assGuid=新Guid((属性[0]作为Guid属性).Value);
Console.WriteLine(“Guid字符串:+assGuid.ToString());
*/
}
}
但是我从(asm.GetCustomAttributes(typeof(GuidAttribute),true))
获得了一个零长度数组
我做错了什么
提前谢谢
顺便说一句,此代码来自Visual Studio 2013中运行Windows 8.1的计算机上的一个干净项目(即,这是项目中除默认代码之外的唯一代码)。AssemblyInfo.cs中是否设置了guid?@safetyOtter谢谢,这就是问题所在。根据此处找到的信息:,我希望自动生成guid。事实并非如此。一旦我生成了guid并将其分配给程序集,一切都正常了。Coolio,我就是这么想的。很高兴你能把它整理好。