无法使用GetExecutionGassembly和GetCustomAttributes在C#中获取程序集guid

无法使用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(

我试图从C#中的程序集获取
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,我就是这么想的。很高兴你能把它整理好。