我的程序通过NuGet包含MVVM Light的副本。直到大约5分钟前,它工作顺利,但现在我收到一个错误,说“找不到RelayCommand.cs”。因为我从NuGet获得了包,所以我没有RelayCommand.cs,只是dll。我尝试卸载并重新安装MVVM Light,问题仍然存在。现在我真的很茫然。如果有人可以帮我解决这个问题,那么我可以继续工作,我会非常感激。
Locating source for 'd:\GalaSoft\mydotnet\MvvmLight\Source\GalaSoft.MvvmLight\GalaSoft.MvvmLight (NET35)\Command\RelayCommand.cs'. Checksum: MD5 {9c e1 3c 59 78 15 34 23 2b e 9b 39 ef 5d eb d0}
The file 'd:\GalaSoft\mydotnet\MvvmLight\Source\GalaSoft.MvvmLight\GalaSoft.MvvmLight (NET35)\Command\RelayCommand.cs' does not exist.
Looking in script documents for 'd:\GalaSoft\mydotnet\MvvmLight\Source\GalaSoft.MvvmLight\GalaSoft.MvvmLight (NET35)\Command\RelayCommand.cs'...
Looking in the projects for 'd:\GalaSoft\mydotnet\MvvmLight\Source\GalaSoft.MvvmLight\GalaSoft.MvvmLight (NET35)\Command\RelayCommand.cs'.
The file was not found in a project.
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\crt\src\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\crt\src\vccorlib\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\src\mfc\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\src\atl\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\include'...
The debug source files settings for the active solution indicate that the debugger will not ask the user to find the file: d:\GalaSoft\mydotnet\MvvmLight\Source\GalaSoft.MvvmLight\GalaSoft.MvvmLight (NET35)\Command\RelayCommand.cs.
The debugger could not locate the source file 'd:\GalaSoft\mydotnet\MvvmLight\Source\GalaSoft.MvvmLight\GalaSoft.MvvmLight (NET35)\Command\RelayCommand.cs'.
更新:此时我认为这是VS的问题。我手动下载了dll文件并引用了它们,我仍然遇到同样的错误。我认为创建一个新项目并迁移我的数据可能是值得的。但是,如果有人对如何解决这个问题有任何想法,我会全力以赴。
更新:我不知道这是否可能是问题,但似乎该程序正在寻找MvvmLight(NET35)。我获得的版本(并且直到现在才开始工作)是WPF45。
更新:当我在我的解决方案中打开packages.config
时,会收到一条警告,指出“未声明'包'元素。”这可能是相关的吗?
答案 0 :(得分:4)
与Galasoft有同样的问题并找到了你的帖子。 - 最后我弄清楚了,或者至少错误不再弹出:
转到Tools-Options...-Debugging-General
并勾选Enable Just My Code
,错误消失。我假设MVVM-Light是在调试模式下编译的,现在Visual Studio会查找MvvmLight pdb和cs文件,当然通过nuget安装时,这些文件当然不存在。
答案 1 :(得分:0)
我不知道为什么会导致这样的错误,但我认为这是因为尝试从不存在的文件中读取数据。我删除了该代码,错误就消失了。
答案 2 :(得分:0)
当我收到此错误时,原因是播放异常无效。我有这个:
MyCommand = new RelayCommand<int>((i) => MyMethod(i));
但我在XAML
中绑定的属性很长。我将其更改为此并且有效:
MyCommand = new RelayCommand<long>((i) => MyMethod(i));