C# WinForms设计器错误(无法加载资源)

C# WinForms设计器错误(无法加载资源),c#,winforms,C#,Winforms,我有一个自动生成的包含所有资源的中央DLL 我有一个UserControl,它在构造函数中从DLL中设置它的一些属性。这个用户控件在设计器中加载得很好 当我将UserControl放在表单上时,我无法在设计器中打开该表单。我会遇到如下错误: 无法从程序集加载类型“MyResourceType” 'MyResourceAssembly,版本=1.0.0.0,区域性=中性, PublicKeyToken=null.。 此错误的实例(1) 隐藏调用堆栈 在MyUserControl..ctor()上

我有一个自动生成的包含所有资源的中央DLL

我有一个UserControl,它在构造函数中从DLL中设置它的一些属性。这个用户控件在设计器中加载得很好

当我将UserControl放在表单上时,我无法在设计器中打开该表单。我会遇到如下错误:

无法从程序集加载类型“MyResourceType” 'MyResourceAssembly,版本=1.0.0.0,区域性=中性, PublicKeyToken=null.。
此错误的实例(1)

  • 隐藏调用堆栈
    在MyUserControl..ctor()上

  • 出现此问题的原因:

    项目正在引用类库项目或.dll(其.pdb可用)。当调试器启动时,正在选择引用的.dll的另一个版本。可能的解决方案,我也经历过一次

    我确实喜欢这个

    • 在VS->tools/options/debugging/symbols下,清除缓存。(在此目录行中缓存符号)
    • 如果使用dll创建PDB,则可以复制到dll位置

    也许这对你有帮助

    出现此问题的原因:

    项目正在引用类库项目或.dll(其.pdb可用)。当调试器启动时,正在选择引用的.dll的另一个版本。可能的解决方案,我也经历过一次

    我确实喜欢这个

    • 在VS->tools/options/debugging/symbols下,清除缓存。(在此目录行中缓存符号)
    • 如果使用dll创建PDB,则可以复制到dll位置

    也许这对你有帮助

    原来在C:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE文件夹中有一个旧版本的资源DLL。删除它和它的PDB解决了这个问题。

    原来在C:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE文件夹中有一个旧版本的资源DLL。删除它和它的PDB解决了这个问题。

    我也有同样的问题。我发现这个文件夹上有旧的Dll

    C:\ProgramFiles(x86)\Microsoft Visual Studio 10.0\Common7\IDE文件夹


    所以删除它们,应该可以解决问题。

    我也有同样的问题。我发现这个文件夹上有旧的Dll

    C:\ProgramFiles(x86)\Microsoft Visual Studio 10.0\Common7\IDE文件夹


    因此,删除它们应该可以解决问题。

    在这种情况下,如何引用其他dll、项目或文件引用?文件。更改为project似乎没有帮助。在本例中,如何引用其他dll、project或文件引用?文件。更改为project似乎没有帮助。在何处复制它们?PDB已存在于bin文件夹中。即使我设置为仅加载选定的符号,也不会发生任何更改。您可以在工作目录中添加pdb和dll,然后尝试重新构建它。:O啊。。我指的是你的项目目录,其中是你的bin文件夹,因为你已经粘贴了它应该编译的文件。请再次尝试重建类库项目,然后将其引用到您的项目中。将它们复制到何处?PDB已存在于bin文件夹中。即使我设置为仅加载选定的符号,也不会发生任何更改。您可以在工作目录中添加pdb和dll,然后尝试重新构建它。:O啊。。我指的是你的项目目录,其中是你的bin文件夹,因为你已经粘贴了它应该编译的文件。请再次尝试重建类库项目,然后将其引用到您的项目中。Me:已将dll复制到所有位置,请确保所有位置都有最新版本。VS:您尝试加载dll吗?没有GAC?没问题,我有一个6个月前的版本放在一个你从没听说过的文件夹里。@PeterSchneider:那不是Visual Studio,那是Windows。如果你在vshost.exe旁边有一个版本,那就是所采用的版本。@Stu:是的,这是已知的windows行为。但是这是VS复制dll到这个地方。Me:复制dll到所有地方,确保所有地方都有最新版本。VS:您尝试加载dll吗?没有GAC?没问题,我有一个6个月前的版本放在一个你从没听说过的文件夹里。@PeterSchneider:那不是Visual Studio,那是Windows。如果你在vshost.exe旁边有一个版本,那就是所采用的版本。@Stu:是的,这是已知的windows行为。但这是VS复制dll到这个地方。