Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当用户限制了对机器配置的访问时,C#.NET应用程序无法启动_C#_Asp.net_.net_Executable_Restrictions - Fatal编程技术网

当用户限制了对机器配置的访问时,C#.NET应用程序无法启动

当用户限制了对机器配置的访问时,C#.NET应用程序无法启动,c#,asp.net,.net,executable,restrictions,C#,Asp.net,.net,Executable,Restrictions,我面临以下问题: 我有一个C#.NETV4应用程序。它在大多数机器上运行正常,但我遇到了一种奇怪的行为: 在访问受限的计算机上,我的.NET应用程序无法运行。我不需要管理员权限来安装应用程序,但它仍然失败。(不是在没有管理员权限的常规用户帐户上,而是在真正受限制的计算机上,例如在公司中) 我在日志中看到的错误如下: 加载配置文件时出错:访问路径 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.Config' 他被拒绝了

我面临以下问题:

我有一个C#.NETV4应用程序。它在大多数机器上运行正常,但我遇到了一种奇怪的行为:

在访问受限的计算机上,我的.NET应用程序无法运行。我不需要管理员权限来安装应用程序,但它仍然失败。(不是在没有管理员权限的常规用户帐户上,而是在真正受限制的计算机上,例如在公司中)

我在日志中看到的错误如下:

加载配置文件时出错:访问路径 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.Config' 他被拒绝了

我不明白为了避免这个错误我需要改变什么。我使用
Properties.Settings.Default.variable
-机制来存储一些特定于用户的变量。我还使用自定义的
Properties.MySettings.Default.variable
-机制来存储临时设置。我删除了这些自定义设置,但这并没有解决问题。我不知道是什么导致了这个问题。有没有办法解决这个问题,或者所有.NET应用程序在只提供对machine.config的受限访问权限的机器上运行时都会失败

我还注意到其他程序无法安装在这台机器上,例如Chrome,抛出了相同的错误。

摘自:

“根据您的描述,我认为在不评估machine.config文件的情况下运行.NET应用程序是不可能的

事实上,计算机配置文件machine.config包含适用于整个计算机的设置。该文件位于%runtime install path%\config目录中。machine.config包含计算机范围的程序集绑定、内置和ASP.NET的配置设置

配置系统首先在机器配置文件中查找开发人员可能定义的和其他配置部分

有关详细信息,请参阅。“

“运行时使用以下步骤解析程序集引用:


通过检查适用的配置文件(包括应用程序配置文件、发布者策略文件和计算机配置文件)来确定正确的程序集版本。如果配置文件位于远程计算机上,则运行时必须首先找到并下载应用程序配置文件。”

您的应用程序是唯一一个无法工作的.NET应用程序吗?如果没有,那就意味着限制太严格了。我想至少需要对machine.config的读取权限。您可以在受限计算机上的记事本中打开文件
C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config
?很可能该文件不可访问,导致该计算机上的.NET 4应用程序出现问题。很好,我将尝试这两种方法!两者都不可能。我猜运行.NET应用程序是不可能的,因为评估machine.config是被禁止的。用户应该对该文件具有读取和执行权限。现在看来很清楚,.NET应用程序不能在限制访问machine.config的机器上运行。尽管如此,我还是会尝试上面评论中的建议,并提供反馈。