为什么同一台机器上的两个控制台应用程序会返回与Directory.Exists(sameDirectory)不同的结果?

时间:2017-09-04 10:53:22

标签: c# windows-7

我有两个.net控制台应用程序,而我F10可以在同一台机器上的两个应用程序的第一行调试和停止。

然后我将以下手表添加到Visual Studio:true

一个应用程序返回false而另一个应用程序返回true的原因可能是什么原因。

返回true的应用程序错误,我可以在Windows资源管理器中验证它并创建和删除目录。

我在错误地返回<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> 的应用程序上尝试了以下内容:

  1. 排除 app.manifest 文件,重新进行重新调试。

  2. app.config 文件中删除了以下内容:

  3. System.Environment.UserName
    1. 两个Visual Studios都没有以管理员身份运行,在任务管理器中运行,并且通过{{1}}我非常确定它们都是以同一个用户身份运行。
    2. 还有什么可能导致这种行为?

1 个答案:

答案 0 :(得分:3)

这是由Windows Vista中首次引入的File and Registry Virtualisation引起的,这意味着当应用程序符合条件时,它会看到对受保护位置的读/写重定向到路径%UserProfile%\AppData\Local\VirtualStore下的文件夹(也可以作为%localappdata%\VirtualStore到达。这意味着两个不同的应用程序可以获得Program Files文件夹内容的不同视图,例如:

  

C:\ Users [Your_User_Name] \ AppData \ Local \ VirtualStore \ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE

  

C:\ Program Files(x86)\ microsoft visual studio 14.0 \ common7 \ ide

获取我VirtualStore文件夹层次结构中存在的示例文件夹。