小编ato*_*oms的帖子

使用Dapper.Net进行调试不会进入Dapper调用 - 找不到SqlMapper.cs

我正在使用Visual Studio 2013 Pro,Dapper.Net 1.13到nuget包

我正在尝试调试我使用Dapper.Net从存储过程中的数据到几个嵌套列表中的问题.一切都在运行时工作.但并非所有我期待的数据都会加载到对象中.因此,我试图了解可能导致此问题的加载过程中发生的事情.

当我单步执行代码并进入Dapper调用(即,新建一个DynamicParameter变量)时,我会看到一个屏幕,"SqlMapper.cs not found"然后是"You need to find SqlMapper.cs to view the source for the current call stack frame".它声明它正在寻找"c:\Dev\Dapper\Dapper NET40\SqlMapper.cs"不存在的文件.如果我点击F11然后它会进展但它只会离开"SqlMapper.cs not found"屏幕并返回到代码,当线路没有调用Dapper时.

我最初通过Nuget将Dapper.Net 1.13加载到项目中.我检查了包,并没有包含SqlMapper.cs的副本.

我从github repo中复制了文件并将VS指向该文件.它告诉我"源文件与模块构建时不同.您是否希望调试器使用它?" 如果我回答是,则它会逐步执行该文件,但突出显示的行与调试器正在执行的操作不匹配.

那么我怎样才能进入Dapper调用并跟踪发生的事情呢?有没有可以找到Nuget包中使用的SqlMapper.cs文件的地方?或者更简单的解决这种情况,我错过了?也许这不是一个Dapper问题,因为它可能会在Visual Studio设置中被更改?

.net c# dapper

5
推荐指数
1
解决办法
4096
查看次数

E97 表示 Vimdiff 无法在 Git Bash 中工作:无法创建差异

事物的版本:

  • 操作系统:Win 8.1
  • 维姆:8.1
  • git: 2.18.0.windows.1
  • GNU bash:4.4.19(2)

我尝试在 Git Bash 中使用 vimdiff 但出现 E97:Cannot create diffs 错误。从那里,两个文件彼此相邻打开,但没有针对差异的语法帮助。一旦我退出这两个文件并返回 bash 终端,我会看到以下内容:

/usr/bin/bash: /usr/share/vim/vim81diff: No such file or directory
Run Code Online (Sandbox Code Playgroud)

在我看来,Git Bash 正在错误的位置寻找 diff 程序。但它仍然将文件传递到 vim,所以我不确定。Git Bash 带来了自己的 vim 副本,所有支持文件都位于其中

/usr/share/vim/vim81/
Run Code Online (Sandbox Code Playgroud)

但exes(vimdiff.exe,vim.exe等)在

/usr/bin/
Run Code Online (Sandbox Code Playgroud)

如果我跑

$ which -a vimdiff
Run Code Online (Sandbox Code Playgroud)

它返回

/usr/bin/vimdiff
/bin/vimdiff
/usr/bin/vimdiff
Run Code Online (Sandbox Code Playgroud)

这是来自全新安装的 Git。

我使用了 Git Bash 文件夹中 vimdiff 的完整路径。我还创建了两个测试文件并在 /usr/bin/ 目录内运行 vimdiff 并得到了相同的结果。

如果我通过转到 cmd 并转到同一目录并在相同文件上使用它们来使用本地安装的 vim,它会按预期工作。这正发生在 Git Bash 中。我想将 vimdiff 设置为我的 git difftool,但需要让 vimdiff 工作。

知道是什么原因造成的以及如何解决它吗?

git vim vimdiff git-bash

2
推荐指数
1
解决办法
1956
查看次数

标签 统计

.net ×1

c# ×1

dapper ×1

git ×1

git-bash ×1

vim ×1

vimdiff ×1