12

我最近切换了计算机并将所有项目复制到我的新本地驱动器。我重新格式化了我现在使用的计算机,所以它几乎是一台干净的机器。一切似乎都运行良好,但是当我打开我从旧机器上运行的一个项目时,它不再编译,并且我收到以下错误消息:无法写入输出文件 'c:\Users \user\Documents\Projects\RegressionWeb\OnetouchUpload\obj\debug\OneTouchUpload.dll' - '访问被拒绝。'

对于我的解决方案中的每个项目,我都会收到类似的错误。我也收到此错误:创建调试信息文件 'c:\Users\user\documents\projects\RegressionWeb\RegressionWeb\obj\Debug\RegressionWeb.PDB' 的意外错误访问被拒绝

我已经搜索了高低,以及我可以在网上找到的唯一与 ASP.NET 和 IIS 相关的类似问题,这两者都与我的项目无关(我的项目主要是 NUnit 测试的类库,带有一些支持类)。

我是本地机器上的管理员。我已经使用 takeown /f .\RegressionWeb /r /dy 获得了项目中每个文件的所有权,并且还尝试确保没有任何内容具有只读状态,但是当我尝试更改读取时,以下文件引发了错误- 它的父文件夹的唯一属性:将属性应用于文件时发生错误:C:...\Regressionweb.sln.DotSettings.user 访问被拒绝

基本上这个项目运行良好,我的旧电脑没有错误。复制完所有内容后,不会修改此 DotSettings.user 文件,并且 Visual Studio 无法写入任何 dll 文件。我确信答案必须在某个地方的 Visual Studio 设置中。任何和所有的建议将不胜感激。

4

6 回答 6

13

我认为卡尔说得对。我曾经遇到过类似的情况,我所做的是删除有问题的文件,清理解决方案,然后重建。如果项目需要该文件,则应重新创建它;就我而言,它不需要它,因为它从未重新创建它,但项目运行得很好。

我要推荐的另一件事;您可能选择关闭父文件夹的只读属性并选择此设置以递归所有子文件夹和文件,但这并不意味着正在发生这种情况。对于您的所有子文件夹和文件(尤其是那些出现错误的文件),分别检查每一个并确保只读属性已关闭。

于 2013-08-16T17:48:27.233 回答
3

我的钱是你的文件是只读的。验证它们是只读的并更改它们或将您的文件添加到源代码控制系统并让它们得到处理。

于 2013-08-16T15:41:10.560 回答
3

当应用程序池用户无权访问 %TMP%/%TEMP% 文件夹时,似乎有时会显示相同的错误。

您需要授予 IIS_IUSRS 对运行应用程序池的用户的临时文件夹的读取和修改访问权限。

这可能是应用程序池用户配置文件中的临时文件夹,例如 c:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp,也可能是位于 c:\windows\temp 的系统临时文件夹。

于 2014-12-05T07:38:29.917 回答
2

我可以通过关闭 Visual Studio 然后再次打开它来完成这项工作,但要小心以“以管理员身份”运行 Visual Studio。为此,从“开始”菜单中,右键单击 Visual Studio 并选择“以管理员身份运行”。

于 2013-09-19T22:07:19.060 回答
1

看看它是否与此有关:无法写入输出文件 - 访问被拒绝 。这将是一个有点麻烦追查。在这种情况下,项目会自引用 dll 并阻止对文件的访问。

于 2013-08-16T15:55:20.920 回答
0

选择配置管理器只更改唯一更改平台,如果您使用的没有其他平台,请选择平台的下拉菜单并添加新平台,然后它将解决您的所有问题,谢谢。

于 2020-07-10T16:05:59.777 回答