Gre*_*reg 258 c# namespaces directive reference visual-studio
我得到了:
找不到类型或命名空间名称
VS2010中的C#WPF应用程序出错.这段代码编译得很好,但突然间我收到了这个错误.我已经尝试删除项目参考和using声明,关闭VS2010并重新启动,但我仍然有这个问题.
任何想法为什么会发生这种情况,看起来我正在做正确的事情参考和using陈述?
我还在VS2010中注意到该命名空间的intellisense工作正常,所以看起来VS2010有项目引用并且一方面看到命名空间,但是在编译期间看不到它?
slu*_*ter 455
这可能是两个项目之间.Net框架版本不兼容的结果.
它可以通过两种方式实现:
例如,当应用程序设置为以.Net 4 Client Profile框架为目标,并且它引用的项目以完整的.Net 4框架为目标时,就会发生这种情况.
所以要更清楚:
在这种情况下,解决方案是升级应用程序的框架目标(项目A),或降级引用程序集的目标(项目B).完整框架应用程序可以引用/使用客户端配置文件框架程序集,但不是相反(客户端配置文件不能引用完整框架目标程序集).
请注意,在VS2012或VS2013(使用.Net 4.5作为默认框架)中创建新项目时,也会出现此错误,并且:
引用项目使用.Net 4.0(当您从VS2010迁移到VS2012或VS2013然后添加新项目时,这很常见)
引用的项目使用更大的版本,即4.5.1或4.5.3(您已将现有项目重新定位到最新版本,但VS仍然创建针对v4.5的新项目,然后您引用这些旧项目来自新项目)
小智 44
重新安装nuget包对我来说很有用.在我将.NET Framework版本更改为同步所有项目之后,仍然为以前的版本安装了一些nuget包(尤其是Entity Framework).Packages Manager Console中的此命令将重新安装整个解决方案的包:
Update-Package –reinstall
Run Code Online (Sandbox Code Playgroud)
ksu*_*sun 28
在构建解决方案时,我遇到了同样的错误(无法找到类型或名称空间').在它下面我看到一个警告,指出"无法解析引用"并确保"程序集存在于磁盘上".
我很困惑,因为我的DLL非常清楚地位于引用指向的位置.在我尝试构建解决方案之前,VS似乎没有强调任何错误.
我终于意识到了问题(或者至少我怀疑是问题).我在同一个解决方案中构建库文件.因此即使它存在于磁盘上,它也在该位置重建(在某个过程中,库重建我的其他项目 - 在同一个解决方案中 - 引用库必须已经确定库不存在)
当我右键单击项目并仅构建它时,而不是整个解决方案,我没有得到错误.
为了解决这个问题,我将库添加为正在使用它的项目的依赖项.
去做这个:
这可确保首先构建库项目.
首先,我将验证您的项目生成的信息是否已损坏.对解决方案进行清理和重建.
如果这没有帮助,我过去看到的有关设计师问题的一件事就是打开一个Windows窗体项目,然后再关闭它.不过,这是一个小小的内脏,所以不要屏住呼吸.
我遇到的一个棘手的情况是:项目一目标是Microsoft.Bcl.Async安装了包的4.0完整框架.项目二针对4.0完整框架,但在引用Project一个类时不会编译.
一旦我在第二个项目上安装了Async NuGet包,它编译得很好.
我遇到了类似的问题:编译器无法检测到同一项目中的文件夹,因此链接到该文件夹的 using 指令生成了错误。就我而言,问题源于重命名文件夹. 即使我更新了该文件夹内所有类的命名空间,项目信息还是无法更新。我尝试了一切:删除 .suo 文件以及 bin 和 obj 文件夹,清理解决方案,重新加载项目 - 没有任何帮助。我通过删除文件夹和里面的类,创建一个新文件夹并在该新文件夹中创建新类来解决这个问题(简单地将类移动到新文件夹中没有帮助)。
PS:就我而言,我正在开发一个 Web 应用程序,但是这个问题可能会出现在不同类型的项目中。
| 归档时间: |
|
| 查看次数: |
297389 次 |
| 最近记录: |