Domanda

Questo problema è stato risolto con SQL Server 2008 R2 aggiornamento cumulativo 5 / SP1 / RTM di SQL Server 2012


In occasione quando provo a costruire un progetto di Reporting Services come parte di una distribuzione o la visualizzazione in anteprima un report in Visual Studio che ricevo il seguente errore:

L'accesso al percorso 'C: \ My Solution cartella \ bin \ Debug \ My Report.rdl'. È negato

Quello che sembra accadere è il file nella cartella \ bin \ Debug \ cartella è stato cambiato in sola lettura. Posso "fissare" il sintomo rimuovendo il flag di sola lettura sul file impatto. Mi piacerebbe trovare un modo per evitare questo errore del tutto dal momento che questo accade di solito più volte al giorno.

I verificato il file non viene salvato il mio sistema di controllo del codice sorgente, in modo che non sembra come il mio controllo plugin di fonte potrebbe causare questo problema. Il problema sembra essere iniziato con SQL Server 2008 R2 e questo ha un senso, dato che io sono abbastanza certo che i bin \ debug \ cartelle \ non esistevano prima di questa versione del progetto di Reporting Services.

Ho provato a cambiare l'OutputPath progetto per un percorso che non è sotto la cartella del progetto, ma visivi Studios would't mi permettono di fare questo.

È stato utile?

Soluzione

E 'un problema noto con Microsoft che è stato corretto da CU5 e poi in SP1. Il problema non si verifica affatto nel 2012 RTM di SQL Server.

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

soluzione di base è quello di costruire una volta, non impostato l'attributo di sola lettura su tutti i file nella cartella BIN del progetto di reporting e sarà ancora una volta tutto il lavoro ... fino a quando si modifica un file di nuovo.

Ho il sospetto che questo è dovuto alla marcatura VSS file come di sola lettura una volta arrivati ??in ... VS quindi copia le risorse (* con estensione rdl) alla BIN cartella di Verbatim cioè con set attributo di sola lettura.

Altri suggerimenti

È possibile utilizzare Process Monitor per scoprire quale processo cambia questo. Tutto quello che dovete fare è impostare un filtro con il percorso completo del file di interesse e guardare per eventuali operazioni effettuate su questo file. Anche spegnere tutti gli altri monitor come Registro di sistema e di rete. Sono sulla barra degli strumenti principale sulla destra.

Di seguito non è una soluzione, persay, ma è una soluzione che non ottiene molto meglio fino a quando viene aggiornato il server. eliminando continuamente le cartelle bin per progetti ottenuto vecchio reale veloce e mi sono bloccato in un'istanza del server con il problema, e sembrava un buon lavoro per un semplice script batch.

Si cancella solo in modo ricorsivo ogni cartella denominata 'bin' nella directory del progetto.

BINZAP.bat

  1. Creare un nuovo file di testo nella cartella Windows \ utenti directory \ YOURNAME
    • Questa posizione permette un facile accesso da un normale prompt di cmd, se necessario.
  2. Incolla nel blocco di codice sotto questa lista
    • Sostituire i puntini di sospensione con il percorso del vostro sistema
  3. Salva come BINZAP.bat (buono di denominazione è molto importante)
  4. Fare clic destro sul desktop.
  5. Creare un nuovo collegamento.
  6. Point allo script batch.
  7. Fare clic destro la scorciatoia e fare clic nella casella di testo “Tasti di scelta rapida”
  8. Premere Z, o un altro tasto, se quell'accordo tasto è già stato assegnato ad altro.

@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

Se hai fatto questo correttamente, è ora possibile semplicemente premere CTRL + ALT + Z, o qualsiasi chiave scelta, da Visual Studio ogni volta che si ottiene l'errore. Molto più facile!

Enjoy!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top