.net - Visual Studio "Start Debugging"与 "Attach to Process"

标签 .net vb.net visual-studio debugging

我有一个使用 .Net 2.0 Framework 的客户端/服务器应用程序。我正在使用 Visual Studio 2008 来构建和管理代码。

当我仅通过启动 .exe 来运行应用程序的调试或发布版本时,我会在数据库上收到一条插入语句,该语句尝试为表的外键插入“0”,从而触发错误,因为另一个表的主键不为0。

当我通过点击播放按钮(“开始调试”)运行应用程序时,插入语句使用正确的外键。

在第一种情况下,即使我在调试版本启动后“附加到进程”,也会发生这种情况。


我的问题:启动后附加到应用程序的调试版本与从调试器启动应用程序有什么区别?

最佳答案

如果您“开始调试”,您将在 vshost.exe hosting process 下运行。这会回收 AppDomain 创建,让您调试部分信任的应用程序,并且可以沙箱 ClickOnce 应用程序。

这些功能都不太可能导致您的错误(并且 vshost 对于大多数人来说并不是什么大问题) - 所以我认为这可能是一个转移注意力的问题。

您可能应该考虑与获取 FK 值相关的多线程和计时问题。

关于.net - Visual Studio "Start Debugging"与 "Attach to Process",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/854136/

相关文章:

c# - 如何显示文件中的 PNG?

c# - 对象实例化异常。初始化成员会发生什么?

.net - F# 有类似 Haskell 的 where 子句的东西吗?

c# - DataTable 到 Dictionary<String,StringBuilder> 的转换

Access 中旧 VB.NET 项目中的 MYSQL 连接字符串

c++ - 为什么 std::regex_search 找不到正确的重载?

visual-studio - Visual Studio 代码分析规则 1804 的异常行为

c# - Linq Lambda 表达式 == 和等于运算符

asp.net - 更改用户控件中标签文本的最佳方法是什么?

vb.net - 删除 vb.net 中的子文件夹和文件