Não foi possível copiar o arquivo - o acesso ao caminho foi negado


238

Estou usando o Visual Studio 2005. Depois de pegar o código do controle de versão primeiro, o aplicativo c # .net é executado corretamente. Mas, depois de fazer algumas modificações, ao criar, estou recebendo o seguinte erro:

Erro 383 Não foi possível copiar o arquivo ".. \ root \ leaf \ Bin \ Debug \ test.Resources.xml" para "Bin \ Debug \ test.Resources.xml". O acesso ao caminho 'Bin \ Debug \ test.Resources.xml' foi negado. li.rollmodel

Alguém sabe por que esse problema está ocorrendo?

Editar Posso ver que toda a minha pasta de código-fonte do projeto é somente leitura e não consigo remover a propriedade somente leitura.

Primeiro, alguém pode me dizer como remover a propriedade Somente leitura para esta pasta? Eu tentei removê-lo, mas a propriedade somente leitura persiste. Também tentei do lado do controle de versão e isso também não funcionou.


Isso está em um compartilhamento de rede? Você tem acesso administrativo em sua máquina? Esta pergunta pode ser mais adequada à falha do servidor ou ao superusuário.
— precisa saber é o seguinte

não ,, eu estou usando minha própria máquina eu tenho acesso administrativo
— ricky

Eu resolvi esse problema copiando manualmente o arquivo de um local para local exigido, porbably o problema está relacionado com MSBUILD com o arquivo somente leitura
— ricky

Respostas:


277

Resolvi esse problema excluindo os arquivos contenciosos da pasta bin e reconstruindo o projeto.


50
post antigo, eu sei, mas eu tinha o mesmo problema agora. Certifique-se de que o VS também esteja fechado, pois, em alguns casos, negará acesso para excluir a pasta
— Eon

1
Nota: eu não entendi, no começo, tenho que excluir esses arquivos na pasta de saída do projeto principal e não na pasta de saída da dll. Então, alertando aqui :)
— Piero Alberto

6
No meu caso, até fechar o VS não foi suficiente para liberar a pasta e permitir que eu a excluísse - o ProcessExplorer mostrou que "VBCSCompiler.exe" ainda a estava usando. Nesse caso, sair do Windows e entrar no Windows (ou simplesmente acabar com o processo) fez o truque, permitindo-me reconstruir a solução e colocar tudo em funcionamento novamente.
— S. Jensen

2
no meu caso, o motivo pelo qual a pasta e a solução se transformaram no ReadOnly e, posteriormente, o VS teve problemas para construí-lo, foi porque alguns arquivos falharam ao sincronizar com o GoogleDrive e ficaram bloqueados por esse processo. Então, para que eu fosse reconstruído corretamente, tive que fechar o GoogleDrive e, em seguida, ele foi criado perfeitamente.
— precisa

1
Eu achei o Bitdefender Antivirus Free o culpado.
— Warwick

123

Apenas verifique se a pasta NÃO é somente leitura e reconstrua a solução


12
Estou tentando remover a caixa de seleção 'Somente leitura' preenchida com a cor verde. Quando clico em 'Aplicar' e, em seguida, em 'Ok', e depois checo as propriedades dessa pasta novamente, posso ver novamente no estado anterior (novamente com a caixa de seleção 'Somente leitura' preenchida com a cor Verde). Alguém tem solução sobre isso?
— Vikram

Além disso, verifique se o arquivo não está bloqueado. No meu caso, o arquivo estava em um compartilhamento e outra pessoa o abriu.
— Dan Bechard

Feche o Visual Studio antes de remover o atributo somente leitura. Porque o arquivo em questão pode estar em uso (bloqueado)
— Gautam Jain

4
Criou uma extensão do Visual Studio para limpar os atributos ReadOnly e Hidden de DLLs que bloqueiam a compilação. UnBlockDllExtension: marketplace.visualstudio.com/…
— vrnithinkumar

69

Resolvi este problema: Feche o Visual Studio, abra-o novamente e carregue a solução, Reconstrua sua solução. Meu problema ocorreu usando o TFS e o VIsual Studio 2010.


22
Adicione o mesmo problema no VS2013. Caso clássico da multidão de TI. "Olá, é TI, você tentou desligar e ligar novamente?".
— Maxime Rouiller

1
Mesmo cenário: TFS e VS 2010. O mesmo problema. A mesma solução. 1
— ajeh

2
Isso também aconteceu no VS2015: p
— Yoo Matsuo

4
E o mesmo no VS2017
— arame3333

1
Eu já enlouqueceu tentando corrigir isso, acabou o bom método antigo, se alguma coisa não funcionar, reinicie-lo, funcionou muito bem
— Mykhailo Seniutovych

50

Finalize o processo VBCSCompiler.exee reconstrua.


3
Foi isso que resolveu para mim. Obrigado tipo estranho: D
— Morsus 10/10

Sim, é isso.
— kal kokah

Muito obrigado, seu tipo estranho! : D
— Agent007

em algum momento ele trabalhou para mim nem sempre, devo dizer que vai resolver uma parte do problema há uma outra coisa também que está causando esse problema
— Amit Bisht

Tente isto também pode ajudá-lo a stackoverflow.com/a/12740768/2445111 #
— Amit Bisht

23

Eu pisei nesse problema também.

Primeiro, verifique se você mapeou sua pasta bin e obj para o programa Source Control.

Isso pode transformar os arquivos das pastas de binários em arquivos somente leitura, o que torna impossível para o visual studio substituí-los quando compila o código.

Vá e remova o mapeamento dessas pastas, verifique as alterações e tente novamente.

Meu problema ocorreu usando o TFS (Team Foundation Server) e o Visual Studio 2010.

Espero que isso ajude alguém.


1
Eu só queria acrescentar que a resposta da Heitorolecarte corrigiu meu problema e isso pode ocorrer com o Visual Studio 2012 e o TFS2010.
— Rodney

20

Execute seu Visual Studio como administrador


1
Nota: aqui é uma maneira curta e simples para sempre executar como administrador por padrão stackoverflow.com/questions/12257110/...
— wmebane

Essa resposta me disse o suficiente para saber apenas adicionar permissão de gravação a "Usuários" na minha pasta de saída - e isso resolveu instantaneamente o meu problema (que era que eu não conseguia publicar nem na primeira vez).
— X Goodrich

9

Eu uso o Visual Studio 2013. Eu enfrentei esse problema 2 vezes:

  1. Na primeira ocasião, eu estava executando o Visual Studio sem direitos de administrador. Então, fechei o VS e o iniciei usando a opção ' Executar como administrador '. Isso resolveu meu problema.

  2. Na segunda ocasião, reiniciei o VS várias vezes, sempre certificando-me de que estou executando-o como administrador. Além disso, reconstruí a solução várias vezes. Mas, apesar disso, estava recebendo erro. Depois disso, removi o arquivo em questão do local de destino (o arquivo já estava presente pode ser da compilação anterior no local em que ele tenta copiar) e reconstruí a solução . Depois disso, o erro desapareceu e tudo correu bem!



7

Isso elevou sua cabeça novamente no Visual Studio 2017; nesse caso, a causa é o processo do Application Insights ServiceHub.DataWarehouseHost.exe.

Há uma solução alternativa discutida no aviso de thread MSB3026: Não foi possível copiar "obj \ Debug \ netcoreapp1.1 \ src.pdb" para "bin \ Debug \ netcoreapp1.1 \ src.pdb" , que é adicionar uma pré-compilação evento ao projeto para interromper o processo toda vez que o projeto for construído. Citando a partir desse link:

  • Clique com o botão direito do mouse nas propriedades do projeto
  • Escolha propriedades
  • Construir Eventos
  • Linha de comando do evento de pré-construção
taskkill /IM ServiceHub.DataWarehouseHost.exe /F 2>nul 1>nul
Exit 0
  • Salvar e construir

6

Alguém pode saber por que esse problema está chegando?

Analisando sua resposta de que você resolveu seu problema através de cópia manual, eu diria que o código em que você estava trabalhando foi criado por outro usuário (com privilégios de administrador também), por isso estava bloqueado para você. Executando cópia -? colar, você fez sua PRÓPRIA cópia da fonte com todo o acesso necessário. A única coisa a se notar é que, nesse caso, se esse outro desenvolvedor precisar trabalhar na sua cópia, ele / ela entrará no mesmo problema que você teve antes.


6

Primeiro, vá para o local do arquivo. Em seguida, clique com o botão direito do mouse na pasta do arquivo -> Propriedades -> Opção Somente Leitura Desmarcada e aplique aos arquivos e suas subpastas. Resolveu o meu problema. Feliz codificação!


3

Eu adicionei novamente todas as minhas dependências / referências que não são do .NET e ele fez o truque.


3

Eu mesmo resolvi esse problema. O problema era que a solução foi aberta em outro local. Depois de fechá-lo, funciona


Eu fiz isso também. Sempre verifique primeiro as coisas óbvias e fáceis, pois meu destino estava em uma unidade de rede, pois eu estava depurando em outra máquina.
— Simon Unsworth

3

Tinha o mesmo problema, mas reiniciar o Visual Studio toda vez não era uma opção para mim , pois o problema ocorre às vezes com muita frequência.

Eu lidei com isso instalando o Unlocker ( tenta instalar qualquer barra de ferramentas na instalação, por isso não se esqueça de desmarcar isso ), este aplicativo me dá acesso rápido para renomear / excluir um arquivo ".xml" bloqueado . Eu sei que isso também é uma solução alternativa também, mas para mim foi a solução mais rápida para resolver esse problema.


Obrigado por isso. Eu tive esse problema no ano passado e pensei que era porque alternaria entre Administrador e não, mas agora sei que é um processo crítico estúpido relacionado ao Panda Antivirus (PSANHost.exe, não presente no Gerenciador de Tarefas) que bloqueou o arquivos.
— Yeejuto 17/08/2015

3

Post antigo, mas esse zumbi está chegando ao VS 2017 (eu não expliquei por que são apenas "alguns" projetos). Nesse caso, não são permissões de usuário , mas o processo do IIS Express ainda está usando os arquivos.

Você verá o ícone na bandeja de tarefas Ícone do IIS Express

  1. Clique com o Botão Direito
  2. Saída
  3. Você deve poder rebuildsem essa mensagem irritante de "permissão negada".

É também por isso que "reiniciar o Visual Studio" irá "corrigir" o problema. Fazendo isso, interrompe o IIS Express.

Hth ...


2

Criei esse problema quando adicionei um novo projeto de instalação à solução e adicionei arquivos diretamente da pasta / bin / release do projeto principal do aplicativo à pasta de arquivos do aplicativo do projeto de instalação. O controle de origem do projeto de instalação estava constantemente me impedindo de concluir a compilação do projeto principal do aplicativo.

Solução: crie uma pasta de despejo separada fora de qualquer um dos projetos que conterá todos os arquivos a serem incluídos na instalação e adicione-os a partir daí. É uma dor, porque agora tenho que lembrar de copiar todos os arquivos para cada novo pacote de instalação. Talvez eu veja se consigo fazer algo com as ações pós-compilação ou uma compilação automatizada para tornar o processo mais suave.


2

Se você copiar qualquer arquivo para uma solução, verifique se os arquivos não estão no modo Somente Leitura. Clique com o botão direito do mouse no arquivo e desmarque a opção de atributo resolvido meu problema.


2

Eu tive o mesmo erro, mas estou usando o controle de versão do Perforce . Aqui está como eu consertei.

  1. Fechado Perforce P4V cliente
  2. Reiniciado o Visual Studio 2010 (pode não ser necessário)
  3. Reconstruiu o projeto, que teve sucesso
  4. Senti-me excepcionalmente feliz e enojado ao mesmo tempo

1
Eu tenho a mesma configuração, mas não consegui
— acessar as

2

Eu também tive o mesmo problema. Recebi mensagens de erro relacionadas a não podem ser copiadas, pois o acesso ao caminho foi negado. No meu caso, todos os meus arquivos DLL e XML, etc., estão na pasta D: \ TFS \ Example \ Bin \ Debug.

Clique com o botão direito do mouse na pasta Bin, clique em Propriedades e vi que a caixa de seleção Somente leitura está marcada em Atributos.

Desmarquei a caixa de seleção Somente leitura e clicou em Aplicar e clicou em OK no novo pop-up mostrado.

Voltei ao Visual Studio e criei minha solução, que estava me dando mensagens de erro.

Voilaa .. Desta vez, ele foi criado com sucesso, sem erros.

Não sei se isso é perfeito, mas fiz isso para resolver meu problema.


2

Verifique o Gerenciador de tarefas e verifique se você não tem um processo devenv.exe travado. Mate o processo descontrolado e tente novamente.


2

Vá para o caminho do arquivo e desmarque a caixa de seleção somente leitura deste arquivo.


1

Eu sei que é um tópico antigo, mas para aqueles que procuram respostas, como eu há alguns minutos, recomendo tentar reiniciar o computador primeiro. Isso por si só consertou. Antes não podia nem copiar manualmente para a pasta.


1
me ajudou também. Gangue de 2020
— Vitor Ceolin

1

Apenas clique com o botão direito do mouse no seu projeto MVC e clique na opção limpa. Eu tive um problema semelhante e a limpeza do projeto antes da reconstrução o resolveu para mim.


1

Eu também tive o mesmo problema. Corrigi-o desmarcando as propriedades Somente leitura da pasta raiz.


Às vezes, a solução é tão simples e óbvia quanto essa. Em vez de continuar batendo a cabeça e contornar procedimentos complexos e intermináveis, verifique esse tipo de possibilidades simples e sua vida ficará muito mais fácil. Sou grato ao StackOverflow por nos fornecer uma comunidade tão vasta de especialistas que pode nos oferecer a ajuda necessária em momentos desesperados.
— Choudhury Saadmaan Mahmid

1

Eu também tive esse problema. Aqui está como é resolvido isso

  • Excluir binpasta do projeto.
  • Feche o estúdio visual.
  • Limpeza de disco da unidade C.
  • Reabra o projeto no visual studio.
  • E, em seguida, recrie a solução.
  • Execute o projeto.

Esse processo funciona para mim.



1

Consegui resolver o problema removendo o arquivo de destino que está reclamando (no seu exemplo "Bin \ Debug \ test.Resources.xml") da pasta bin do site de destino e construí-lo. Isso foi corrigido por mim.


1

1) feche a solução do visual studio

2) navegue até o prompt de comando -> execute como administrador -> iisreset / stop

3) navegue até c -> Windows -> Microsoft.Net -> Framework64 -> v4.030319 -> Arquivos temporários de Asp.NET -> Exclua todos os arquivos e pastas nesse caminho.

4) Navegue de volta ao prompt de comando -> iisreset / start

5) Agora abra o visual studio -> execute como administrador -> limpe a solução e construa-a (não reconstrua .. apenas a compilação funcionou para mim)


0

Você não deve alterar o atributo da pasta para não somente leitura. O motivo pelo qual você está vendo essa mensagem de erro é que o controle de origem pressupõe que você armazena apenas seus arquivos diversos em outro lugar que não seja a pasta bin, pois é reservado para arquivos criados automaticamente pelo .Net e não deseja adicioná-los à origem ao controle.

Sugiro que, em vez de usar Environment.CurrectDirectory(que suponho que você esteja usando atualmente), crie uma pasta chamada "MyProjectName" no endereço% appdata% e use:

System.IO.Path.Combine(Environment.GetEnvironmentVariable("appdata"),"YourProjectName").


0

Então, acabei de encontrar o mesmo problema, a causa minha, compartilhava minha pasta de desenvolvimento para poder usar um mac como host de construção para um aplicativo IOS usando o Xamarin. O projeto estava sendo executado no mac, que tomou posse da dll, portanto, não pude fazer alterações nessa dll de qualquer outro lugar. Simplesmente parar o aplicativo no mac retornou a propriedade para mim, o que permitiu o acesso total novamente. Espero que isso faça desde então.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.