Visual Studio在调试时锁定文件

11

我有一个包含多个项目的VS解决方案。在调试特定项目时,所有源文件都被VS锁定。我想解锁那些被调试对象没有依赖关系的源文件。在一个解决方案内是否有任何方法可以做到这一点?

更新:

我正在使用Win XP SP3 32位。Visual Studio 2010,C#。已启用编辑和继续功能。该解决方案包含6个项目(实际上数字并不重要),其中5个项目依赖于数据访问层项目,该项目使用Entity Framework。这5个项目之间没有任何相互依赖关系。它们是WinForms和控制台应用程序。我希望能够运行其中一个项目并更改其他项目,而不停止第一个项目。问题是启动和停止项目需要相当长的时间。

3个回答

13

如果调试器没有停止程序,"编辑和继续"功能会阻止您编辑文件。简单的解决方法是使用“调试”+“中断所有”,然后您就可以编辑文件了。只要您的更改不违反"E+C"强加的限制,您的更改将立即生效。这是最有效的工作流程。

采取严厉的方法是禁用"编辑和继续"。工具 + 选项,调试器,编辑和继续,取消启用复选框。


非常好!我不能在VS上使用那个函数,它会警告64位应用程序不支持它...所以现在我可以在调试时添加注释 :) - kokbira
1
我已按照说明禁用了“编辑并继续”功能,但Visual Studio仍然阻止我在运行时编辑文件。这让我疯狂。即使应用程序正在运行,它甚至不允许我滚动XAML设计器。 - devios1
哇!太感谢了!我都快要疯了! - Simon Germain

-1

这并不完全回答了OP的问题,但对于任何像我一样在同样(非常沮丧)的情况下偶然发现这个页面的人来说,这可能会有所帮助。

解决方案:不要调试启动

Visual Studio让我疯狂,因为它不允许我在应用程序运行时编辑文件。我的典型工作流程是:

  1. 进行一些更改
  2. 运行应用程序以查看这些更改的效果
  3. 根据结果进行更多更改等等

问题是Visual Studio阻止了我进行第3步。它要求您在进行任何更改之前停止运行应用程序(包括对XAML文件进行更改或将文件添加到项目中),这也意味着您不能在实际编程时同时返回应用程序以进行双重检查(这就是我的工作方式,伙计)。

谢天谢地,我终于发现如果我在调试的情况下运行,它就不会强制执行这个荒谬的限制。如果您确实需要调试某些内容,那么重新以调试模式运行应用程序仍然很麻烦,但它肯定比在编辑文件之前必须终止应用程序要好得多。


-1

我认为没有避免这种情况的方法。在调试期间,Visual Studio会锁定所有文件以防止对它们进行任何更改,包括其他项目中的文件。
您可以尝试使用另一个Visual Studio实例打开您感兴趣的项目,以便对您的文件进行更改,或者使用另一个编辑器逐个打开文件。


2
但是为什么它会这样做呢?在调试时锁定项目中的每个文件(包括项目本身)并没有任何好处。毕竟,VS在编译后不依赖它们。这只是一种毫无意义的限制,绝对让人沮丧。 - devios1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接