2

我的程序通过 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在我的解决方案中打开时,我收到一条警告,上面写着“未声明‘包’元素。” 这可能是相关的吗?

4

3 回答 3

4

Galasoft 遇到了同样的问题并找到了您的帖子。- 最后我想通了,或者至少不再弹出错误:

转到Tools-Options...-Debugging-General并打勾Enable Just My Code,错误消失了。我假设 MVVM-Light 是在调试模式下编译的,现在 Visual Studio 会查找 MvvmLight pdb 和 cs 文件,这些文件在通过 nuget 安装时当然不存在。

于 2013-07-30T12:00:03.883 回答
0

我不知道为什么这会导致这样的错误,但我相信这是由于试图从不存在的文件中读取数据造成的。我删除了该代码,错误消失了。

于 2013-06-03T19:34:52.413 回答
0

当我收到此错误时,是因为无效的强制转换异常。我有这个:

MyCommand = new RelayCommand<int>((i) => MyMethod(i));

但是我绑定的属性很XAML长。我把它改成了这个,它起作用了:

MyCommand = new RelayCommand<long>((i) => MyMethod(i));
于 2016-09-07T18:47:46.557 回答