6

この問題は、SQL Server 2008 R2 Cumulative Update 5 / SP1 / SQL Server 2012 RTM で解決されました。


Visual Studio でレポートを配置またはプレビューする際に、Reporting Services プロジェクトをビルドしようとすると、次のエラーが表示されることがあります。

パス「C:\My Solution Folder\bin\Debug\My Report.rdl」へのアクセスが拒否されました。

\bin\Debug\ フォルダー内のファイルが読み取り専用に変更されているように見えます。影響を受けるファイルの読み取り専用フラグを削除することで、症状を「修正」できます。これは通常 1 日に複数回発生するため、このエラーを完全に回避する方法を見つけたいと思います。

ファイルがソース管理システムに保存されていないことを確認したので、ソース管理プラグインがこの問題を引き起こしているようには見えません。この問題は SQL Server 2008 R2 で始まったようです。このバージョンの Reporting Services プロジェクトより前に \bin\Debug\ フォルダーが存在しなかったことは確かなので、これは理にかなっています。

プロジェクトの OutputPath をプロジェクト フォルダーの下にないパスに変更しようとしましたが、Visual Studio ではこれを行うことができませんでした。

4

3 に答える 3

9

これは、CU5以降のSP1で修正されたMicrosoftの既知のバグです。この問題は、SQL Server2012RTMではまったく発生しませんでした。

https://connect.microsoft.com/SQLServer/feedback/details/543755/fiserv-tap-checking-it-rdl-source-sets-output-folder-to-read-only

基本的な回避策は、一度ビルドし、レポートプロジェクトのBINフォルダー内のすべてのファイルの読み取り専用属性の設定を解除することです。これにより、ファイルを再度編集するまで、すべてが再び機能します。

これは、VSSがチェックインするとファイルを読み取り専用としてマークするためだと思われます... VSはリソース(* .RDL)をそのままBINフォルダーにコピーします。つまり、読み取り専用属性が設定されています。

于 2011-05-02T06:34:24.297 に答える
0

プロセスモニターを使用して、どのプロセスがそれを変更するかを確認できます。必要なのは、対象のファイルのフルパスを使用してフィルターを設定し、このファイルで実行された操作を監視することだけです。また、レジストリやネットワークなどの他のすべてのモニターをオフにします。それらは右側のメインツールバーにあります。

于 2011-01-21T16:45:39.660 に答える
0

以下は修正ではありませんが、サーバーが更新されるまで改善されない回避策です。プロジェクトの bin フォルダーを常に削除すると、すぐに古くなり、問題のあるサーバー インスタンスで立ち往生しています。単純バッチ スクリプトの場合は、良い仕事のように思えました。

プロジェクトディレクトリ内の「bin」という名前のすべてのフォルダーを再帰的に削除するだけです。

BINZAP.bat

  1. windows\users\YOURNAME ディレクトリに新しいテキスト ファイルを作成します。
    • この場所は、必要に応じて通常の 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

これを正しく行った場合は、エラーが発生したときに Visual Studio から CTRL + ALT + Z を押すか、選択したキーを押すだけで済みます。ずっと簡単!

楽しみ!

于 2014-11-07T20:36:22.583 に答える