Visual Studio 版本 15.2 (26430.6) 已发布。
最近我升级到了上述版本,但在编译时不断遇到 VS 锁定文件的问题。
无法将 "obj\Debug\projHype.dll" 复制到 "bin\Debug\projHype.dll"。重试次数已超过 10 次,失败。
我还尝试以管理员身份和普通用户身份运行 VS2017,但问题仍然存在。
我尝试了一些针对较旧版本 Visual Studio 的建议,但都没有效果。你有什么好的解决方法吗?
Visual Studio 版本 15.2 (26430.6) 已发布。
最近我升级到了上述版本,但在编译时不断遇到 VS 锁定文件的问题。
无法将 "obj\Debug\projHype.dll" 复制到 "bin\Debug\projHype.dll"。重试次数已超过 10 次,失败。
我还尝试以管理员身份和普通用户身份运行 VS2017,但问题仍然存在。
我尝试了一些针对较旧版本 Visual Studio 的建议,但都没有效果。你有什么好的解决方法吗?
对于遇到此问题的任何人。升级到版本26430.12将解决此问题。看起来先前的版本包含了一个错误。
虽然可能存在其他原因,但testhost.exe和testhost.x86.exe都可能导致锁定,从而阻止构建完成。症状令人困惑--测试浏览器会无限地循环,有时构建中会出现超时警告。有时即使关闭了VS,文件也无法访问。
如果您使用nUnit或另一个测试框架,请确保测试发现不会在您的代码中遇到任何无限循环或崩溃。如果发生这种情况,它会挂起testhost可执行文件。例如,如果您使用nUnit TestCase或TestCaseSource,如果其中任何一个执行可能会挂起、锁定或崩溃的操作,那么它们将在执行测试之前被调用。
这是棘手的部分--你的测试还没有运行,但你的代码却可以锁定VS!虽然这可能不是您的问题,但如果您以任何方式进行单元测试发现,请检查是否全部完成。
确保所有发现都完成的一种方法是使用测试本身的功能,并将其禁用为TestCase或TestCaseSource(或其他测试框架中的等效项)。如果测试挂起或崩溃,那就是罪魁祸首。
对我来说,重新运行程序并接受“运行上次成功的构建”有所帮助。运行后,锁定就消失了。