9

Niedawno zmieniłem komputery i skopiowałem wszystkie moje projekty na mój nowy dysk lokalny. Przeformatowałem komputer, na którym teraz jestem, więc to była czysta maszyna. Wydawało się, że wszystko działa dobrze, ale kiedy otworzyłem jeden z moich projektów, które uruchamiałem z mojego starego komputera, nie będzie on już się kompilował i pojawi się następujący komunikat o błędzie: Nie można zapisać do pliku wyjściowego "c: \ Użytkownicy \ użytkownik \ Dokumenty \ Projekty \ RegresjaWeb \ OnetouchUpload \ obj \ debug \ OneTouchUpload.dll "-" Odmowa dostępu ".Nie można zapisać do pliku wyjściowego - Odmowa dostępu

Otrzymuję taki błąd dla każdego projektu, który mam w moim rozwiązaniu. Otrzymuję również następujący błąd: Nieoczekiwany błąd podczas tworzenia pliku z informacjami diagnostycznymi "c: \ Users \ user \ documents \ projects \ RegressionWeb \ RegressionWeb \ obj \ Debug \ RegressionWeb.PDB" Dostęp jest zabroniony

Szukałem wysokie i niskie, a jedyne podobne problemy, jakie mogłem znaleźć w Internecie, dotyczyły w szczególności ASP.NET i IIS, z których żaden nie ma nic wspólnego z moim projektem (Moje projekty to biblioteki klas zawierające głównie testy NUnit z niektórymi klasami wsparcia).

Jestem administratorem na moim komputerze lokalnym. Mam już przejęte na własność każdego pliku w projekcie przy użyciu takeown/f. \ RegressionWeb/r/dy, a także starałem się zapewnić, że nic nie ma statusu Tylko do odczytu, ale następujący plik wystąpił błąd, gdy próbowałem zmienić odczyt -tylko nieruchomość na jego folder nadrzędny: wystąpił błąd podczas stosowania atrybutów do pliku: C: ... \ Regressionweb.sln.DotSettings.user Odmowa dostępu

Zasadniczo ten projekt działa idealnie i nie miał żadnych błędów z mojego starego komputera. Po skopiowaniu wszystkiego, ten plik DotSettings.user nie zostanie zmodyfikowany, a program Visual Studio nie będzie mógł pisać do żadnego z plików dll. Jestem pewien, że odpowiedź musi znajdować się gdzieś w środowisku Visual Studio. Wszelkie sugestie będą bardzo mile widziane.

+0

Czy sprawdziłeś, czy plik jest tylko do odczytu? – Botonomous

+0

Tak. Żaden plik powodujący błędy nie ma ustawionego tego atrybutu. Katalog nadrzędny wygląda, ale żaden z dzieci, a kiedy próbuję go zmienić, to co opisuję w czwartym akapicie, zdarza się –

+0

Co z uprawnieniami? Czy potwierdziłeś, że masz czytać/pisać? – Botonomous

Odpowiedz

10

Myślę, że Karl ma rację. Miałem podobną sytuację raz, a to, co zrobiłem, to usunięcie danego pliku, wyczyszczenie rozwiązania, a następnie przebudowanie. Jeśli projekt potrzebuje tego pliku, powinien go odtworzyć; w moim przypadku nie było to potrzebne, ponieważ nigdy go nie odtwarzał, ale projekt działał dobrze.

Jeszcze jedna rzecz, którą polecam; możesz wybrać atrybut tylko do odczytu folderu nadrzędnego i wybrać to ustawienie, aby rekurencyjnie przeglądać wszystkie podfoldery i pliki, ale to nie znaczy, że to się dzieje. Dla wszystkich podfolderów i plików (szczególnie tych, które pojawiają się jako błędy) sprawdź każdy z osobna i upewnij się, że atrybut "tylko do odczytu" jest wyłączony.

+0

Usunięcie danego pliku (ów), wyczyszczenie rozwiązania i przebudowanie jest dokładnie tym, co zadziałało dla mnie. – davidpm4

1

Moje pieniądze są na twoich plikach są tylko do odczytu. Sprawdź, czy są one tylko do odczytu i zmień je, lub dodaj swoje pliki do systemu kontroli źródła i pozwól im się nimi posługiwać.

+0

Ma sens, jak już powiedziałem, folder nadrzędny ma tylko zestaw atrybutów, ale gdy go zmienię i wybierz opcję Zastosuj, otrzymuję jeden plik, który zgłasza ten błąd: Wystąpił błąd podczas stosowania atrybutów do pliku: C: ... \ Regressionweb.sln.DotSettings.user Odmowa dostępu która Ignoruję, ale gdy sprawdzam folder nadrzędny, atrybut tylko do odczytu jest nadal ustawiony –

0

Udało mi się uzyskać to działa, zamykając Visual Studio, a następnie otwierając go ponownie, ale uważając, aby uruchomić Visual Studio "As Administrator". Aby to zrobić, z menu Start, kliknij prawym przyciskiem myszy na Visual Studio i wybierz "Uruchom jako administrator".

3

wydaje się, że ten sam błąd jest czasami wyświetlany, gdy użytkownik puli aplikacji nie ma dostępu do folderu% TMP% /% TEMP%.

Musisz nadać IIS_IUSRS uprawnienia do odczytu i modyfikowania dostępu poprzez folder tymczasowy użytkownika, w którym jest uruchamiana pula aplikacji.

Może to być folder tymczasowy w profilu użytkownika puli aplikacji, np. c: \ Windows \ ServiceProfiles \ NetworkService \ AppData \ Local \ Temp lub folder temp systemu w katalogu c: \ windows \ temp.