Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当引用确实存在时,找不到类型或命名空间_C#_.net_Wpf - Fatal编程技术网

C# 当引用确实存在时,找不到类型或命名空间

C# 当引用确实存在时,找不到类型或命名空间,c#,.net,wpf,C#,.net,Wpf,我有一个wpf应用程序,试图在其中引用我创建的类库。 我已经添加了对.dll的引用 我已经将using语句添加到我的文件中,intellisense实际上看到了新的名称空间 然后在我的代码中,我可以在添加的.dll中创建新的类对象。intellisense可以看到所有方法等。没有问题,没有错误 当我试图构建我的wpf应用程序时,我突然在我添加的dll上发现类型或名称空间找不到错误 然后,每当我试图从该.dll创建对象时,就会出现错误 我不明白发生了什么。。为什么在我构建之前它可以工作,但是当我构

我有一个wpf应用程序,试图在其中引用我创建的类库。 我已经添加了对.dll的引用 我已经将using语句添加到我的文件中,intellisense实际上看到了新的名称空间

然后在我的代码中,我可以在添加的.dll中创建新的类对象。intellisense可以看到所有方法等。没有问题,没有错误

当我试图构建我的wpf应用程序时,我突然在我添加的dll上发现类型或名称空间找不到错误

然后,每当我试图从该.dll创建对象时,就会出现错误

我不明白发生了什么。。为什么在我构建之前它可以工作,但是当我构建它时它决定它不知道我引用的.dll在哪里


此外,我还访问了我试图添加的类库,并确保它构建时没有错误。

最常见的原因是.DLL以完整的.NET Framework为目标,而WPF应用程序以客户端配置文件为目标


例如,如果库的目标是.NET 3.5,请确保WPF应用程序的目标是完整的.NET 3.5或4.0框架,而不是客户端配置文件。

您可以从其他项目复制任何.dll文件, 两个.dll文件。 例如:A.dll,A.pdb 并将这两个文件重命名为项目的名称


然后你可以重建这个项目。

关于这个问题的一些想法,你可以试试:

  • 检查较低版本是否未调用较高版本的程序集(例如.NET 3.5 project未调用.NET 4.0程序集)

  • 清理->构建(或重建)

  • 手动删除主叫项目和主叫项目的bin/obj文件夹。这迫使所有的东西都要建造——这是一种“艰难”的方式。这听起来可能有些多余,但对我来说已经奏效了好几次

  • 重新启动VS-有时,没有任何解释

  • 重新启动-当没有其他功能可用时,请暂停并重试


如果您在没有DLL的情况下获得此文件,请检查代码文件是否设置为编译。在Visual Studio 2013中,我不断添加代码文件,它将生成操作(在代码文件属性的“高级”部分下找到)设置为“内容”,而不是“编译”。对此进行更改。

有时需要对包含命名空间的程序集进行显式命名

xmlns:myns="clr-namespace:MyNamespace;assembly=MyAssembly"

我不知道为什么有时需要它。

确保dll引用不适用于比您的项目更高级别的框架。ie 3.5项目引用4.0 dll他已经包含dll文件,但他的构建失败。您的回答没有回答这个问题。Microsoft应该将此链接作为解决方案提示,而不是一般错误提示年龄没有任何意义。类似地,我在从.NET 4项目引用.NET 4.5项目时遇到了这个错误。谢谢,但这个问题已经将近三年了,当我选择了一个正确的解决方案时,这个问题得到了解决。我把这个问题留在这里,以防它对某人有所帮助:)@twaldron此清单上的第1项为我解决了相同的问题。=)
xmlns:myns="clr-namespace:MyNamespace;assembly=MyAssembly"