Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł pomaga rozwiązać problem polegający na tym, że program Microsoft Visual Studio 2012 nie może zapisać pliku podczas edytowania projektu Visual C++.
Oryginalna wersja produktu: Visual Studio Premium 2012, Visual Studio Ultimate 2012
Oryginalny numer KB: 2839032
Symptomy
Używasz programu Visual Studio 2012, w którym edytujesz projekt Visual C++ i wprowadzasz zmiany w oknie dialogowym w Edytorze zasobów. Zostanie wyświetlone nieoczekiwane okno komunikatu z komunikatem o błędzie:
Nie można zapisać pliku.
Przyczyna
Wystąpił problem z interakcją funkcji Autoodzyskiwania z Edytorem zasobów. Gdy interwał autoodzyskiwania wygaśnie, jeśli zasób nie zostanie zapisany, autoodzyskiwanie próbuje go uzyskać.
Uwaga 16.
Domyślny interwał to co 5 minut.
Podczas zapisywania pliku zasobów próbuje zapisać plik o nazwie resource.hm. Resource.hm jest używana w przypadku korzystania z pomocy kontekstowej— opcji generowania natywnego projektu interfejsu użytkownika. Po jej włączeniu tworzy identyfikatory pomocy, które są zapisywane w pliku nagłówka identyfikatora pomocy, resource.hm. Nie będzie żadnych resource.hm , chyba że włączysz właściwość Identyfikator pomocy dla co najmniej jednego zasobu.
Rozwiązanie
Unikaj zapisywania autoodzyskiwania edytowanych zasobów.
Wyłącz opcję Autoodzyskiwania w obszarze Narzędzia>Opcje>Autoodzyskiwania środowiska>, usuwając zaznaczenie pola wyboru Zapisz informacje autoodzyskiwania co:
Zapisz edytowane zasoby w określonym interwale, aby uniknąć wyzwalania automatycznego zapisywania. Możesz zwiększyć interwał, ale ten interwał zwiększa również ryzyko utraty niezapisanej pracy.
Nie używaj pomocy kontekstowej.
Jeśli nie używasz identyfikatora pomocy kontekstowej, wyłączenie tej opcji dla każdej kontrolki byłoby najprostszym rozwiązaniem. Wyłączenie go z edytora zasobów byłoby najbezpieczniejsze. W edytorze zasobów sprawdź wszystkie kontrolki, a jedną z właściwości będzie Identyfikator pomocy. Ustaw wartość False dla każdej kontrolki, w której ma wartość True.
Zamiast tego można bezpośrednio edytować plik rc. Na przykład usunięcie ostatniego parametru dla każdej kontrolki z identyfikatorem Pomocy spowoduje wyłączenie funkcji:
DEFPUSHBUTTON "OK",IDOK,103,31,50,14,WS_GROUP,0,HIDOK