【发布时间】:2023-03-17 15:33:01
【问题描述】:
我有两个 .net 控制台应用程序,我 F10 在同一台机器上调试和停止两个应用程序的第一行。
然后我将以下手表添加到两个 Visual Studio 中:Directory.Exists(@"C:\Program Files\MyDirectory")
一个应用程序返回true 而另一个应用程序返回false 的可能原因是什么。
返回true的应用程序错误,我可以在Windows资源管理器中验证并创建和删除目录。
我在错误返回true的应用程序上尝试了以下操作:
排除app.manifest文件,重新编译调试。
从 app.config 文件中删除了以下内容:
<system.web>
<membership defaultProvider="ClientAuthenticationMembershipProvider">
<providers>
<add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri=""/>
</providers>
</membership>
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
<providers>
<add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400"/>
</providers>
</roleManager>
</system.web>
- Visual Studio 都不是以管理员身份在任务管理器中和通过
System.Environment.UserName运行的,我很确定它们都以相同的用户身份运行。
还有什么可能导致这种行为?
【问题讨论】:
-
你是
Console.WriteLine是结果还是用鼠标(h)悬停检查值? -
@cramopy,我 F10 一次,然后当调试器在第一行暂停时,我将手表添加到两个 Visual Studios。
-
它可以像不同的字符串一样简单,例如额外的空间。
-
@MartinLottering,
%localappdata%\VirtualStore下是否有对应的文件夹?我知道您说过您已经剥离了所有内容并检查了它们两个控制台应用程序是否以相同的身份运行,但这是我能想到的唯一事情(%localappdata%映射到C:\Users\[USERNAME]\AppData\Local) -
@MartinLottering,技术不是很好! ;-) VirtualStore 之前曾让我失望过一次或两次,奇怪的是,Visual Studio 的两个实例在他们是否看到它时不一致。也许有人以管理员身份运行?可能值得查看 VirtualStore 中文件夹的 creation 日期,看看这是否可以为您提供有关两者行为不一致的原因的任何提示,例如在查看创建日期后,您认为其中一个 VS 实例将在 before 和另一个 after =) 之后打开