访问Visual Studio中的路径误差
-
16-10-2019 - |
题
SQL Server 2008 R2累积更新5 / SP1 / SQL Server 2012 RTM解决了此问题
当我尝试构建报告服务项目作为部署或预览Visual Studios中的报告的一部分时,我会收到以下错误:
访问路径'c:我的解决方案文件夹 bin debug my report.rdl'的访问被拒绝。
似乎发生的事情是 bin debug 文件夹中的文件已更改为“只读”。我可以通过在受影响的文件上删除只读标志来“解决”症状。我想找到一种完全避免此错误的方法,因为这通常每天发生多次。
我验证了该文件没有保存到我的源控制系统,因此似乎我的源控制插件似乎不会引起此问题。问题似乎始于SQL Server 2008 R2,这是有道理的,因为我可以确定在此版本的报告服务项目之前不存在 bin debug 文件夹。
我尝试将项目输出路径更改为不在项目文件夹下的路径,但是Visual Studios不允许我这样做。
解决方案
这是Microsoft的已知错误,由CU5纠正,后来在SP1中进行了纠正。在SQL Server 2012 RTM中,该问题根本没有发生。
基本的解决方法是构建一次,在报告项目的bin文件夹中的所有文件上删除仅读取属性,并且它将再次工作...直到您再次编辑文件为止。
我怀疑这是由于VSS将文件标记为仅读取的文件...然后将资源(*.rdl)复制到bin foldbatim IE带有仅读取属性集的bin文件夹。
其他提示
您可以使用 过程监视器 找出哪些过程改变了。您需要做的就是设置一个带有完整路径的过滤器,该文件感兴趣,并注意此文件上完成的任何操作。还关闭所有其他监视器,例如注册表和网络。它们在右边的主工具栏上。
以下不是修复程序,persay,但是在您的服务器更新之前,这是一个解决方法,不会变得更好。不断删除项目的bin文件夹变老了 真实的 快速,我将问题陷入困境,对于简单的批处理脚本来说,这似乎是一项好工作。
它只是递归删除项目目录中名为“ bin”的每个文件夹。
binzap.bat
- 在Windows Users YourName Directory中创建一个新的文本文件
- 如果需要,此位置允许从普通的CMD提示符中轻松访问。
- 在此列表下方的代码块中粘贴
- 用系统的路径代替省略号
- 将其保存为binzap.bat(好命名是 非常 重要的)
- 右键单击您的桌面。
- 创建一个新的快捷方式。
- 将其指向批处理脚本。
- 右键单击捷径,然后单击“快捷键”文本框中
- 按Z或另一个键,如果该键和弦已经分配给其他东西。
@echo off
cd "C:\ ... \Reports"
for /d /r . %%d in (bin) do @if exist "%%d" rd /s/q "%%d"
echo.
echo All your bin are belong to us.
echo.
pause
exit
如果您做到了正确的操作,那么您现在只需按CTRL+ALT+Z即可按照视觉工作室而选择的任何键,或者只要您遇到错误。容易得多!
享受!