无法写入输出文件 - 拒绝访问

时间:2013-08-16 15:38:23

标签: c# visual-studio-2012 permissions compiler-errors windows-7-x64

我最近更换了计算机并将所有项目复制到我的新本地驱动器上。我重新格式化了我现在的计算机,所以它几乎是一台干净的机器。一切似乎工作正常,但是当我打开我从旧机器上运行的一个项目时,它将不再编译,我收到以下错误消息: 无法写入输出文件'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。\ _RevressionWeb / r / dy获取了项目中每个文件的所有权,并且还尝试确保没有任何状态为只读,但是当我尝试更改读取时,以下文件引发了错误 - 它的父文件夹的唯一属性: 将属性应用于文件时发生错误: C:\ Regressionweb.sln.DotSettings.user 访问被拒绝

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

6 个答案:

答案 0 :(得分:11)

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

我建议另外一件事;您可能正在选择父文件夹的只读属性并选择此设置来递归所有子文件夹和文件,但这并不意味着发生了什么。对于所有子文件夹和文件(尤其是那些作为错误裁剪的文件)和文件,请分别检查每个文件夹和文件,并确保只读属性已关闭。

答案 1 :(得分:3)

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

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

这可以是应用程序池用户的个人资料中的临时文件夹,例如: c:\ Windows \ ServiceProfiles \ NetworkService \ AppData \ Local \ Temp,或c:\ windows \ temp的系统临时文件夹。

答案 2 :(得分:2)

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

答案 3 :(得分:1)

看看它是否与此相关:Could not write to output file - Access is denied 。这将是一个追踪的bug。在这种情况下,项目是自引用dll并阻止访问该文件。

答案 4 :(得分:0)

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

答案 5 :(得分:0)

选择配置管理器,仅更改平台,仅更改平台,如果没有 其他patform instid您正在使用的是什么,因此选择平台的下拉菜单并添加新的 平台,那么它将解决您所有的问题。