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中,该问题根本没有发生。

https://connect.microsoft.com/sqlserver/feedback/details/543755/fiserv-tap-checking-checking-it-rdl-source-source-source-sets-sets-unput-forter-folder-folder-to-to-to-read-read-read-

基本的解决方法是构建一次,在报告项目的bin文件夹中的所有文件上删除仅读取属性,并且它将再次工作...直到您再次编辑文件为止。

我怀疑这是由于VSS将文件标记为仅读取的文件...然后将资源(*.rdl)复制到bin foldbatim IE带有仅读取属性集的bin文件夹。

其他提示

您可以使用 过程监视器 找出哪些过程改变了。您需要做的就是设置一个带有完整路径的过滤器,该文件感兴趣,并注意此文件上完成的任何操作。还关闭所有其他监视器,例如注册表和网络。它们在右边的主工具栏上。

以下不是修复程序,persay,但是在您的服务器更新之前,这是一个解决方法,不会变得更好。不断删除项目的bin文件夹变老了 真实的 快速,我将问题陷入困境,对于简单的批处理脚本来说,这似乎是一项好工作。

它只是递归删除项目目录中名为“ bin”的每个文件夹。

binzap.bat

  1. 在Windows Users YourName Directory中创建一个新的文本文件
    • 如果需要,此位置允许从普通的CMD提示符中轻松访问。
  2. 在此列表下方的代码块中粘贴
    • 用系统的路径代替省略号
  3. 将其保存为binzap.bat(好命名是 非常 重要的)
  4. 右键单击您的桌面。
  5. 创建一个新的快捷方式。
  6. 将其指向批处理脚本。
  7. 右键单击捷径,然后单击“快捷键”文本框中
  8. 按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即可按照视觉工作室而选择的任何键,或者只要您遇到错误。容易得多!

享受!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top