Visual Studio에서 aspx / ascx 파일의 .designer 파일을 어떻게 재생성합니까?


395

때때로 페이지를 편집하거나 제어 할 때 .designer 파일이 페이지에 추가 한 새로운 제어로 업데이트되지 않을 수 있습니다. 이 문제의 원인을 잘 모르겠지만 Visual Studio에서 .designer 파일을 다시 생성하도록하는 방법이 있는지 궁금합니다. Visual Studio 2008을 사용하고 있습니다.

편집 : 나는 이미 시도한 것을 주목해야합니다.

  • 모든 파일 닫기 및 다시 열기 & Visual Studio
  • 페이지에서 runat = "server"컨트롤 변경
  • 페이지 지시문 삭제 및 다시 추가

57
2012 년에도 Visual Studio에 소스 파일에서 디자이너 파일을 재생성 할 수있는 상황에 맞는 메뉴 항목이 아직 없습니까? 손상된 DLL을 다시 만들 수없는 것과 비슷합니다. 이해할 수 없습니다. 특히 외부 소스 제어 및 외부 편집기를 사용하면 Visual Studio가 손상됩니다. 당신이 나에게 요청하면 돈 낭비. 실제로 리소스 파일 디자이너를 재생성하려고합니다. 나는 그럭저럭 편집 은 재생을하지만 ... 무명 통해 Augh있어! (1)
bambams

3
@bamccaig, 만약 내가 이와 같은 모든 이상한 "기능"에 대해 페니를 가지고 있다면, 빌 게이츠보다 더 부자가 될 것이다. 이것이 잘못되었다고 생각되면 Outlook Express가 메일 데이터를 저장하는 위치를보십시오. 기본적으로 숨겨져있는 암호화 된 폴더 이름 아래의 사용자 폴더에 깊이 묻혀 있습니다.
ATL_DEV

13
VS 2015에 대한 솔루션이 있습니까?
Anton

다른 시도는 관련 stackoverflow.com/questions/6508252/… 를 참조하십시오 .
goodeye

2
영구적 인 수정은 아니지만 .cs 파일에서 제어 참조를 복원합니다. 1. 관련 .aspx 파일을 엽니 다. 2. <%@ Page지시문 끝에서 단일 ">"를 삭제하십시오 . 3. 1 ~ 2 초 정도 기다립니다. 4. ">"를 다시 넣으십시오. 5. .cs 파일로 전환하면 제어 참조 오류가없는 것을 볼 수 있습니다. 나는 이것을 오랫동안하고 있었고 매 VS 모든 버전에서 작동합니다.
ingredient_15939

답변:


368

.aspx 파일을 열고 디자인보기와 html보기를 전환했다가 다시 전환하면 VS에서 컨트롤을 확인하고 디자이너 파일에없는 항목을 추가하라는 메시지가 표시됩니다.

VS2013-15에는 프로젝트 메뉴 아래 에 웹 응용 프로그램 으로 변환 명령이 있습니다. VS2013 이전에는이 ​​옵션을 as (c / p) x 파일에 대한 마우스 오른쪽 버튼 클릭 상황에 맞는 메뉴에서 사용할 수있었습니다. 이 작업을 마치면 * .Designer.cs 파일을 사용할 수 있으며 디자인 HTML 내의 컨트롤을 컨트롤에 사용할 수 있습니다.

추신 : 디버깅 할 때 모든 것이 "재 컴파일되지"않기 때문에 디버그 모드에서 수행하면 안됩니다.

일부 사람들은 .designer.cs 파일을 삭제 (.designer.cs 파일의 백업 복사본을 만든 후)하여 성공을보고했습니다. 같은 이름으로 빈 파일을 다시 만드십시오.

designer.cs 파일을 가장 잘 재생하는 방법에 대한 팁을 추가하는이 답변에 대한 많은 의견이 있습니다.


1
이것은 VS2008의 모든 인스턴스 (완전히 다른 솔루션을 가진 인스턴스조차도)를 종료 한 후에 만 ​​작동했습니다.
Kevin

11
디버그 모드에서 릴리스 모드로 변경하면 속임수가 생겼다는 사실을 알게되었습니다. 감사
Chris

5
방금 동일한 오류가 발생하고 아무것도 작동하지 않고이 페이지의 모든 것을 시도했다고 말하고 싶었습니다. runat = "server"가있는 div에 ">"닫기 태그가 누락되었습니다. VS-2008을 실행 중입니다.
Ber53rker 14:07에

10
"웹 응용 프로그램으로 변환"이 나타나게하려면 먼저 솔루션 탐색기에서 aspx 파일을 오른쪽 클릭하여 Designer.cs 파일을 삭제하고 삭제를 선택해야합니다. 이것은 VS 2010에서 나를 위해 일했습니다.
DeveloperDan

43
VS2013의 프로젝트 메뉴 아래에 웹 응용 프로그램으로 변환이 있습니다. 더 이상 상황에 맞는 메뉴에 없습니다.
Dennis Burton

95

글쎄, 나는 그것이 마음에 들지 않지만 작동하는 솔루션을 찾았습니다. .designer.cs 파일을 삭제 한 다음 같은 이름의 빈 파일을 다시 만들어야했습니다. 돌아가서 aspx 파일을 다시 저장하면 디자이너 파일이 다시 생성되었습니다.

교활한!


3
이것은 나에게도 효과적이었습니다. 이상적이지 않습니다. 원본 desginer 파일이 제대로 업데이트되지 않은 이유를 모르겠습니다.
Iain 홀더

3
이것은 나를 위해 작동하지 않았습니다. 이제 빈 파일이 있고 뒤에있는 모든 코드가 작동하지 않습니다! 재부팅 ...
DiningPhilanderer

7
이것은 나를 위해 일했습니다. 원본을 삭제하고 동일한 이름으로 새 designer.cs 파일을 만들고 새 파일을 닫은 다음 .as (p / c) x 파일을 약간 수정하여 저장을 강요하면 모두 좋았습니다.
TJB

9
뷰 컴파일 오류가 발생하면 다시 나타나지 않습니다. 일반적으로 이것이 처음부터 조정을 중지하는 이유입니다. 보기 컴파일을 켜야합니다.
DevelopingChris

1
또한 프로젝트에 빈 파일을 포함시켜야했습니다.
JP Hellemons

78

매번 작동하는 다음 방법을 사용합니다.

  • aspx / ascx 파일의 편집기에서 모든 전면 코드 (html 마크 업 등)를 선택하십시오.
  • 절단.
  • 저장.
  • 풀.
  • 저장.

다시 컴파일하십시오.


1
단일 컨트롤을 삭제하고 다시 추가하면 동일한 효과가 있다고 생각합니다.
chris

나는 이것을했고 그것은 나를 위해 일했다. 그러나 나는 <name>.aspx.designer.vb그것을 작동시키기 위해 빈 파일을 만들어야했다
Tahir Hassan

64

나는 최근에 같은 문제가 있음을 보았다. Visual Studio 2010은 디자이너 파일 업데이트를 거부했습니다.

VS는 CodeBehind (DLL) 대신 CodeFile (페이지 부족)을 사용하는 페이지의 디자이너 파일을 수정하지 않습니다. VS를 닫거나 프로젝트를 다시로드하거나 컨트롤을 다시 만들거나 파일을 수정하는 횟수에 관계없이 마찬가지입니다. VS가 디자이너를 재생성하도록 요구하는 것은 없습니다. 마치 CodeFile 페이지의 디자이너 파일을 만들지 않지만 거기에 있어야하는 것처럼 보입니다.

CodeBehind로 변경하고 페이지를 저장했습니다. 디자이너 파일이 즉시 업데이트되었습니다. 그런 다음 방금 다시 변경했는데 모든 것이 여전히 황금색이었습니다. VS 2010 / .NET 4.0에서는 VS 2008이 기본적으로이 문제를 겪지 않았으므로이 동작은 새로운 것으로 보입니다.

이 부분입니다.

<%@ Page Language="vb" AutoEventWireup="false" CodeFile="YourPage.aspx.vb" Inherits="YourPageClass" %>

CodeFile을 CodeBehind로 변경하고 저장 한 다음 되돌립니다.


이 스레드에 늦었습니다. 위에서 설명한 답변 중 어느 것도 * .aspx.designer.cs에 컨트롤을 표시하도록 강요하지 않습니다. 이 방법을 원했지만 여전히 * .aspx.designer.cs 파일에 컨트롤을 선언하지는 않습니다. VS 2010 Pro SP1을 사용하고 있습니다. IDE가 ChangePassword.aspx와 같이 / Account에서 생성하는 기본 파일 중 하나에서 작동하도록하려고합니다. 감사.
paparush

1
광산은 CodeFile로 설정되었고 CodeBehind로 변경되어 저장되었으며 CodeFile로 다시 저장되었습니다. 모든 것이 황금색입니다. 이전의 수정 시도는 나에게 도움이되지 않았습니다. VS 2010 Pro
Dan

37

또 다른 가능성이있을 수 있습니다. Visual Studio에서 디자이너를 다시 생성하지 못하게하는 .aspx 파일에 오류가있을 수 있습니다.

디자인보기로 전환하면 컨트롤을 렌더링 할 수없는 것으로 표시됩니다. 컨트롤 수정 (내 경우에는 속성에서 추가 인용)과 재 컴파일은 디자이너를 재생성해야합니다.


나는 같은 문제가 있었고 사용자 정의 컨트롤에 오류가 있었으므로 사용자 정의 컨트롤을 사용하는 페이지는 사용자 정의 컨트롤의 오류로 인해 관련이없는 오류가있었습니다.
Ronen Festinger

1
같은 원인입니다. 지원되지 않는 속성 visible = "false"가 ASP 버튼에 추가되었습니다. 나는 그것을 제거하고 디자이너 코드가 다시 생성되었습니다.
chingNotCHing

21

Visual Studio 2013 및 2012를 실행하는 경우 여기에있는 대부분의 솔루션이 작동하지 않습니다. Microsoft는 IDE를보다 신속하게 만들기 위해 일부 최적화 기능을 도입하여 코드 생성기를 트리거하는 사례 수를 줄였습니다. 작동하는 데 사용 된 다음 시나리오는 더 이상 작동하지 않습니다.

  1. aspx 또는 ascx 파일 삭제-이 경우 더 이상 확인하지 않습니다
  2. 모든 내용을 잘라내어 aspx 또는 ascx 파일로 다시 붙여 넣기-더 이상 작동하지 않고 참조가 변경되지 않음
  3. 웹 응용 프로그램으로 변환-더 이상 옵션을 사용할 수 없음
  4. aspx / ascx 파일의 내용을 임의로 변경하는 경우 더 이상 작동하지 않습니다 (2 참조).

해결책은 놀랍도록 간단하지만 약간 성가시다. 코드 생성기를 트리거하려면 designer.aspx.cs를 생성해야하는 항목을 변경하십시오. CSS 스타일과 같이 코드에 영향을주지 않는 내용을 변경하거나 텍스트를 추가해도 코드 생성기가 트리거되지 않습니다. 참조 된 컨트롤을 변경해야합니다. 방법은 다음과 같습니다.

ascx 또는 aspx에서 컨트롤의 ID를 변경하십시오.

<asp:HyperLink ID="MyLink" runat="server" NavigateUrl="~/Default.aspx" Text="Home" />

<asp:HyperLink ID="theLINK" runat="server" NavigateUrl="~/Default.aspx" CssClass="tab" Text="Home" />

ascx.cs 또는 aspx.cs로 이동하여 "MyLink"에 대한 모든 참조의 이름을 "theLINK"로 바꾸십시오. 저장하고 짓고 당신은 잘 가야합니다.


최신 버전의 Visual Studio의 변경 사항에 대한 매우 좋은 지적입니다. 위와 같이 ID를 엉망으로 만드는 대신 나를 위해 일한 것은 디자이너 파일을 지우고 <asp : PlaceHolder ID = "Foo"runat = "server />와 같은 새롭고 양성적인 컨트롤을 추가 한 다음 저장하기 위해 저장하는 것이 었습니다. . 재생 그리고 당신이 그것을 제거하는 것을 잊지 경우에도 아무런 영향을받지 않습니다.
요르단 리거

8
3. 적절한 파일을 선택하면 'PROJECT'메뉴에서 '웹 애플리케이션으로 변환'을 사용할 수 있습니다.
WynandB

2
흠. 불행히도이 옵션은 이미 웹 응용 프로그램 인 경우 사용할 수 없습니다.
ATL_DEV

빠른 변경은 Inherits = 속성의 네임 스페이스 부분을 편집하는 것입니다. .designer 파일에서 네임 스페이스를 편집하고 내부의 모든 내용을 재생성해야합니다. 방금 VS2013.3으로 시도했습니다.
David Russell

안녕, 나는 일반적으로 당신이 제공 한 방식으로 시도하지만 문제는 관리자 만 할 수있는 동안 다른 사용자가 g.cs 파일을 생성 할 수 없다는 것입니다. 우리는 VS에서 여러 개발자 사용자 ID를 사용하여 TFS를 사용하고 있으며 g.cs를 생성 할 수 있습니다. 서버, TFS 및 SP에서 g.cs를 생성하는 데 필요한 권한은 무엇입니까?
nirav

14

내가 아는 유일한 방법은 디자이너 파일을 삭제하고 웹 응용 프로그램으로 변환하는 것입니다. 그러나 이렇게하면 일반적으로 처음에 자동 재생성되지 않은 이유, 일반적으로 페이지 헤드에 선언되지 않은 제어 참조에 대한 오류와 함께 팝업됩니다.


작동하지 않아 죄송합니다 .VS 2008에서 사용하기 시작했습니다. 페이지에 구문 오류가 있습니까? 작동을 끝내기 위해 무엇을 고칠 것인지 알려주는 대화 상자가 나타납니다.
DevelopingChris

이것은 나를 위해 일했습니다. 코드 숨김 클래스에는 대 / int Id소문자를 구분하므로 C #에서 제대로 컴파일 된 속성이 있습니다. 그러나 ID="ControlName"aspx 페이지에서하려고했습니다 Id = "ControlName". Convert to Web App같은 것을 말했다 ControlName cannot be converted to Int32.
Nelson Rothermel

9

웹 응용 프로그램으로 변환이 작동하지 않았습니다.

designer.cs를 삭제하고 빈 designer.cs를 붙여 넣는 것도 작동하지 않았습니다.

그러나 그렇습니다.

  1. 모두 선택 (Default.aspx)
  2. 절단
  3. Default.aspx 저장
  4. Default.aspx 저장

끝난. 새로운 designer.cs가 생성되었습니다. :)


VS2013에서 작동하는지 확인할 수 있습니다. 방금 수행했으며 문제를 해결했습니다.
ToastyMallows

당신. 있다. 알았어 에. 있다. 농담. 나를. 이것은 VS2015에서 선택한 답변과 같이 변환하지 않았을 때 효과적이었습니다.
GraehamF

6

복사 / 붙여 넣기로 인해이 동작이 발생 하는 경우가 종종 있었습니다. 있었습니다. 대부분의 경우 서버 컨트롤의 ID를 편집하여 해결할 수 있습니다 (문자를 추가 한 다음 삭제하면됩니다).

또한 Repeater와 같은 항목 내부의 컨트롤은 디자이너 파일에 표시되지 않습니다.

그렇습니다. 위에 나열된 파일 삭제 마법을 수행해야하는 경우가 있지만 이름 변경 솔루션은 대부분 작동합니다.


2
그것은 내가 여러 번 가진 종류의 오류입니다. 한 페이지에서 다른 페이지로 HTML을 복사하고 runat = "server"가있는 컨트롤이있는 경우 충돌이 발생하지 않도록 컨트롤의 이름이 변경됩니다. 그러나 "html comment"태그 <!-whaterver-> 안에 붙여 넣으면 컨트롤 ID가 변경되지 않으며 동일한 ID를 가진 두 개의 컨트롤이 있기 때문에 충돌이 발생하여 디자이너 파일이 재생성되지 않습니다. html "comments"태그 내부의 컨트롤도 생성되기 때문입니다. ;)
tomasofen

5

내 경험은 위에서 언급 한 것처럼 기사 에서처럼하고 싶다면 .

마크 업 파일 (aspx / ascx)에 CodeBehind = "MyPage.aspx.cs"특성이 포함되어 있어야합니다. 그렇지 않으면 작동하지 않습니다. 나는 그것에 대해 블로그에 올렸 습니다 .


이 속성을 추가 한 다음 저장했습니다. 아무것도. 그런 다음 상속을 제거하고 저장하고 복원하며 디자이너 코드 파일이 업데이트되었습니다! 이
성가신

두 링크가 모두 죽었다 = (
Maslow

5

코드를 변경하거나 "웹 응용 프로그램으로 변환"과 같은 명령을 실행하지 않고도이 문제를 해결할 수있는 방법을 찾았습니다.

내가 찾은 것은 Visual Studio를 다시 시작하면 종종 문제를 해결하지만 때로는 해결하지 못하는 것입니다. 이 경우 Visual Studio를 닫은 후 다시 열기 전에 웹 프로젝트의 "obj"디렉토리에있는 모든 컨텐츠삭제 하면 항상 효과가 있습니다.

(다시 시작하면 공간을 추가하고 다시 제거한 다음 저장을 눌러 디자이너 파일을 올바르게 재생성하십시오)


지원을 담당하는 레거시 앱에서이 문제가 발생했습니다. 이것을 지적 해 주셔서 감사합니다. 웹 응용 프로그램으로 변환하거나 새 솔루션을 만들거나 버그만 수정하면 안됩니다. 디자이너는 저를 위해 끊임없이 충돌합니다. 그러나 이것은 지금까지 도움이되었습니다.
Jamie Taylor

4

(다음은 VS2005 경험에서 비롯된 것입니다.)

디버깅하는 동안 ASPX 페이지를 편집하면 코드 숨김이 새 클래스로 업데이트되지 않습니다. 따라서 디버깅을 중지하고 ASPX 페이지를 간단하게 편집 (예 : 단추 등 추가) 한 다음 디자인보기를 클릭 한 다음 단추를 삭제해야합니다. 그런 다음 디자이너 파일을 업데이트해야합니다.

VS2008과 다른 문제가 발생하면 도와 드릴 수 없습니다.


VS.Net 2010으로 이것에 부딪 쳤습니다 ... 정확하게 이것을해야했습니다 ... 팁에 대한 @EndangeredMassa 감사합니다 ... VS.Net 2002/2003 일 에도이 문제를 겪었습니다 ... 다음에 알았습니다;)
Richard B

4

디자인보기에서 화면을 마우스 오른쪽 버튼으로 클릭하고 새로 고침을 클릭하십시오.


3

일한 또 다른 것은-

  1. 파일 시스템에서 디자이너 파일을 수동으로 삭제 한 다음 작성하십시오.
  2. 프로젝트 파일을 편집 하십시오.
  3. 디자이너
    예 를 포함하는 코드를 추가하십시오 .<Compile Include="<Path>\FileName.ascx.designer.cs"> <DependentUpon>FileName.ascx</DependentUpon> </Compile>
  4. 프로젝트 새로 고침
  5. 디자인 / 뷰 모드에서 as (c / p) x 파일을 열고 저장합니다.
  6. 디자이너 파일을 확인하십시오. 코드가있을 것입니다.

3

VS2013 이상을 사용하는 경우 "CodeFile"이 아닌 "CodeBehind"속성으로 참조되는 코드를 확인한 후 아래 단계를 수행하십시오.

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="yourControl.ascx.cs" Inherits="yourControl.yourControl" %>
  • 빈 디자이너 페이지를 작성하십시오 (또는 "yourControl.ascx.designer.cs"가 있으면 지우십시오).
  • ascx (또는 aspx)에서 모든 코드를 복사하고 삭제 한 다음 저장하십시오. 다시 붙여넣고 저장하십시오.
  • 이제 디자이너 파일을 채워야합니다.

2
  • 디자이너 파일에서 모두 선택하고 파일의 모든 내용을 삭제하고 비워두고 저장하십시오.
  • ASPX / ASCX 파일에서 모두 선택하고 모든 것을 잘라낸 후 다시 붙여 넣기
  • 디자이너 파일은 코드를 재생성해야합니다

1
이것은 나를 위해 일했다! 또한 모든 것을 잘라낸 후 .aspx 파일을 저장했습니다. 다시 붙여 넣어 저장하고 내 (이전에는 비어 있음) 디자이너 파일이 완전히 채워졌습니다.
DaveD

2

여기에 내가 경험 한 와트가 있습니다. 솔루션 탐색기에서 웹 사이트 폴더를 마우스 오른쪽 버튼으로 클릭하고 디자이너 파일이 생성되는 모든 aspx 파일에 대해 웹 응용 프로그램으로 변환을 선택하십시오.

Sameer


2

여기에 긴 답변 목록을 추가하려면 VS2010 (SP1)에서 .aspx 파일 로이 문제를 겪었습니다. 나는 과거에 작동했던 표준 ASP 컨트롤을 추가하고 제거하려고 시도했지만 결국 디자이너 파일을 다시 생성하기 위해 기존 컨트롤에서 runat = server 행 중 하나를 제거 하고 저장해야했습니다.


2

몇 년 동안 Visual Studio 2008에서 일하면서 동일한 문제가 발생했습니다. 그리고 저는 여러분 모두가 확신하는 것처럼 StackOverflow와 수십 개의 블로그에서 모든 "솔루션"을 시도했습니다. 그리고 때로는 그들이 당신 모두를 만났다고 확신하는 것처럼 그들은 효과가 있고 때로는 그렇지 않습니다. 그리고 분명히 VS2010과 VS2012에서 여전히 문제입니다.

마지막으로 몇 달 전에 충분하다고 판단하고 몇 주에 걸쳐 .designer 파일을 생성하는 "Redesigner"라는 도구를 만들었습니다. BSD 라이센스에 따라 오픈 소스입니다 이며 SourceForge에서 소스 코드를 사용할 수 있습니다. 무료, 도용, 무료로 원하는 것을 자유롭게 할 수 있습니다. 또한 Visual Studio가 자주 수행하지 못하는 작업을 수행하여 .designer 파일을 빠르고 안정적으로 생성합니다.

.aspx 및 .ascx 파일을 구문 분석하고 필요한 모든 반사 마법을 수행하며 올바른 .designer 파일을 추출하는 독립 실행 형 명령 줄 도구입니다. 기존 코드에 의존하지 않기 위해 모든 파싱 및 반영 자체를 수행합니다. .NET 3.5에 대해 C #으로 작성되었지만 형식 선언 이외의 다른 용도로도 System.Web을 사용하지 않는 것은 고통스럽고 Visual Studio를 전혀 사용하거나 의존하지 않습니다. .

Redesigner는 새로운 .designer 파일을 생성 할 수 있습니다. --verbose 옵션을 제공하므로 문제가 발생했을 때 "System.Exception 예외가 발생했습니다."보다 훨씬 더 나은 오류 메시지가 표시됩니다. 또한 기존의 .designer 파일이 손상되었을 때 (제어 누락, 잘못된 속성 선언, Visual Studio에서 읽을 수없는 경우 또는 평범하지 않음)를 알려주는 --verify 옵션이 있습니다.

우리는 지난 달 더 나은 부분을 위해 잼에서 벗어나기 위해 직장에서 그것을 사용 해 왔으며 Redesigner는 여전히 베타 버전이지만 대중과 공유 할 가치가있을 정도로 멀어졌습니다. 곧 Visual Studio 플러그인을 만들고자하므로 마우스 오른쪽 버튼을 클릭하여 디자이너 파일을 항상 원했던대로 확인하거나 재생성 할 수 있습니다. 그러나 그 동안 명령 줄 사용법은 매우 쉽고 많은 두통을 덜어 줄 것입니다.

어쨌든 지금 Redesigner 사본을 다운로드하여 머리카락을 뽑으십시오 . 항상 필요한 것은 아니지만 그렇게하면 기뻐할 것입니다!

https://sourceforge.net/projects/redesigner/


간단한 수정으로 과잉 인 것 같습니다
Chris McGrath

1
@ChrisMcGrath 어쩌면 과잉일지도 모르지만이 도구를 자극하는 고통을 느꼈습니다. 시간을 들여 그의 헌신을 찬양합니다 :)
Jordan Rieger

2

TL; DR; ASPX 페이지 지시문
Inherits속성을 편집하고 @Page저장을 누르십시오. 디자이너 파일을 다시 생성해야합니다.

Inherits= <namespace>. <class_name> 및 CodeBehind= <class_name> .aspx.cs 인지 확인하십시오 .


VS 2010 및 TFS를 사용하여 Sharepoint 2010 프로젝트 에서이 작업을 수행하려고 시도했지만 위의 솔루션 중 어느 것도 효과가 없었습니다. VS 2010에서 TFS를 사용할 때 기본적으로 "웹 응용 프로그램으로 변환" 옵션 이 .ASPX 파일의 오른쪽 클릭 메뉴에 없습니다.

이 답변은 마침내 도움이되었습니다 . 내 수업은 다음과 같습니다.

namespace MyProjects.Finance.Pages
{
    public partial class FinanceSubmission : WebPartPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        // more code
    }
}

그리고 내 @Page지시는 (명확성을 위해 여기서 줄 바꿈)입니다.

<%@ Page Language="C#" AutoEventWireup="true" 
    CodeBehind="FinanceSubmission.aspx.cs"
    Inherits="MyProjects.Finance.Pages.FinanceSubmission"
    MasterPageFile="~masterurl/default.master" %>

먼저 InheritsMyProjects.Finance.Pages 로 변경하고 저장을 누른 다음 다시 MyProjects.Finance.Pages.FinanceSubmission으로 변경하고 저장을 다시 누르십시오. 그리고 왈라! 디자이너 페이지가 재생성되었습니다!

이것이 누군가 TFS를 사용하는 데 도움이되기를 바랍니다!


2

Visual Studio 내에서 :

1) aspx.designer.cs 파일을 제거하십시오

2) aspx 파일을 마우스 오른쪽 단추로 클릭하고 "웹 응용 프로그램으로 변환"을 선택하십시오. 그러면 aspx.designer.cs가 최신으로 추가됩니다.

오류가 발생하면 :

"디자이너 파일 생성 실패 : 방법 또는 작업이 구현되지 않았습니다."

Visual Studio를 닫은 다음 프로젝트를 다시 열고 2 단계를 다시 수행하십시오.

Visual Studio에서 aspx.designer.cs를 생성하는 방법?


2
"웹 응용 프로그램으로 변환"이 aspx 파일의 상황에 맞는 메뉴에 없습니다. 적어도, 그것은 2015 VS 전문으로하지 않습니다
크리스 월시에게

2
  1. 1 단계 : 모든 aspx 코드를 선택하고 해당 코드를 잘라 내고 저장합니다 [CTRL + X].

  2. 2 단계 : 같은 페이지에 같은 코드를 다시 붙여 넣고 다시 저장

이제 .desinger 페이지가 .aspx 페이지의 모든 컨트롤로 새로 고쳐집니다.


1

designer.cs 파일을 삭제 한 다음 .aspx 파일을 마우스 오른쪽 단추로 클릭하고 "웹 응용 프로그램으로 변환"을 선택하십시오. 태그가 제대로 구성되지 않은 등의 컨트롤 선언에 문제가있는 경우 오류 메시지가 표시되며 Visual Studio에서 디자이너 파일을 성공적으로 다시 생성하기 전에 잘못된 태그를 수정해야합니다.

필자의 경우,이 시점에서 문제는 runat = "server"속성을 가진 양식 태그 안에 있지 않은 버튼 컨트롤을 선언했다는 것을 발견했습니다.


1

이것은 IDE의 버그입니다. VS 2003 이후로 보았습니다. 솔루션은 간단합니다.

파일을 저장하십시오. IDE를 완전히 종료하십시오 (프로세스가 중지되었는지 확인하십시오 (태스크 mgr)).

솔루션을 다시 열고 마크 업을 더럽 히고 저장하십시오. 결정된.


1

나는 두 가지 문제가 있었다 ... 구식 AJAXControlkit-오래된 dll을 삭제하고, 도구 상자에서 오래된 컨트롤을 제거하고, 새 버전을 다운로드하고, 도구 상자를로드하고, 페이지에 새 컨트롤을 끌어다 놓았다 ( http://www.experts-exchange.com 참조) /Programming/Languages/.NET/Visual_Studio_.NET_2005/Q_24591597.html )

또한 레이블 컨트롤에서 맞춤법이 틀 렸습니다 ( 'cssclass'대신 'class'사용).

고마워


1

.ascx 파일에 선언 할 때 새 컨트롤이 디자이너 파일에서 생성되지 않는 문제가있었습니다. 문제는 내가 코드 뒤에 그들을 선언했다는 것입니다. 따라서 코드에서 선언을 삭제하면 문제가 해결되었습니다.


1

당신이 나와 같고 오래된 .ASPX 파일을 최신 프로젝트에 추가하는 경우. 아마도 페이지에서 사용 된 일부 컨트롤을 잊어 버릴 것입니다.

그렇다면 먼저 설치하려는 파일이 여러 개인 경우 한 번에 하나씩 수정하십시오.

컴파일 할 때 생성 된 오류를 수정하십시오. 모든 파일에서 동일한 오류 일 수 있습니다.

다음으로 Designer 파일이 있으면 삽입 된 모든 Designer 파일을 삭제하십시오. 다음으로 컴파일 할 때 디자이너 파일 이외의 다른 오류가 없는지 확인하십시오.

마지막으로 웹 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 웹 응용 프로그램으로 변환을 클릭하십시오. 필요한 디자이너 파일이 삽입됩니다.

다음은 문제를 해결하기위한 최선의 단계입니다.


1

아무도 언급하지 않은 한 가지는 페이지방문하는 것 입니다. 존재하지 않는 사용자 정의 컨트롤 (여러 가지 이유로)이 포함되어 있기 때문에 디자이너 파일 재생이 중지되었으며 여기에 제안 된 사항이 없습니다. 어떤 이유로 든 Visual Studio에서 오류가 발생하지 않았습니다. 물론 클라이언트 측 컨트롤은 재생성되지 않았기 때문에 클라이언트 측 컨트롤이 존재하지 않는다는 사실에 대해 불평했습니다.

실제로 페이지를 방문하여 ASP.Net에서 오류를 알려주었습니다.


1

네임 스페이스를 업데이트하고 디자이너 파일에서 네임 스페이스를 업데이트하지 않은 경우에도 발생할 수 있습니다. 수정 : 디자이너 파일에서도 네임 스페이스를 업데이트하십시오.


1

나를 위해 일한 해결책은 다음과 같습니다.

방금 페이지를 복사하여 같은 부분에 붙여 넣은 다음 첫 페이지의 이름을 바꾸고 복사 한 페이지의 이름을 원본 페이지로 바꿨습니다. 이제 컨트롤에 액세스 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.