오류: 유형이 두 디렉터리에 모두 있습니다.
MVC2 프로젝트에서 App_code에서 Content 폴더로 파일을 이동하여 컴파일했습니다.그런 다음 다시 App_Code로 이동한 다음 빌드 액션을 "컴파일"로 변경합니다.이제 이 오류가 표시되고 프로그램이 다시 작동하도록 수정하는 방법을 알 수 없습니다.
CS0433: '헬퍼' 유형은 두 'c:\사용자...\AppData\로컬\Temp\Temporary ASP.NET 파일\root\b00d4b7d\b2553f9c\App_Code.zowyklar.sys' 및 'c:\사용자...\AppData\로컬\Temp\Temporary ASP.NET Files\root\b00d4b7d\b2553f9c\assembly\dl3\5c6d3537\19f85663_cde9cb01\MyProject.DLL'
청소와 리빌딩은 문제를 해결하지 못합니다.
이것은 별도의 질문으로 답변되었고 저를 위해 문제를 해결했습니다.반드시 원래 사람의 대답에 투표하세요.
ASP.Net 오류: "'foo' 유형이 "temp1.dll" 및 "temp2.dll"에 모두 있습니다.
batch="false" 특성을 web.config 파일의 "compilation" 요소에 추가합니다.
이 문제는 ASP 방식 때문에 발생합니다.NET 2.0은 응용프로그램 참조 및 응용프로그램의 폴더 구조를 사용하여 응용프로그램을 컴파일합니다.응용 프로그램에 대한 web.config 파일에 있는 요소의 배치 속성이 true로 설정된 경우 ASP.NET 2.0은 응용프로그램의 각 폴더를 별도의 어셈블리로 컴파일합니다.
http://www.sellsbrothers.com/news/showTopic.aspx?ixTopic=1995
http://support.microsoft.com/kb/919284
MVC2 포인트가 부여된 것처럼 보이는 웹 애플리케이션을 구축하고 있다고 가정하면 App_Code 폴더를 사용해서는 안 됩니다.웹 응용 프로그램 프로젝트와 통합되도록 설계되지 않았습니다.
Visual Studio에서 컴파일하면 애플리케이션의 모든 코드(App_Code 포함)가 어셈블리로 컴파일됩니다.응용 프로그램을 실행하면 asp.net 은 App_Code라는 "특수" 폴더를 알고 그 내용을 고유한 이름의 어셈블리로 컴파일합니다.따라서 프로젝트를 실행할 때마다 이 문제가 발생합니다.
해결책:
App_Code 폴더의 이름을 "Code" 또는 "Global"(그리고 지금은 깨진 참조를 업데이트) 및 voila와 같은 이름으로 변경하면 문제가 해결됩니다.
다른 버전의 DevExpress에서 문제가 발생했습니다.
bin 및 obj 폴더에서 모든 콘텐츠를 삭제하면 웹 사이트가 다시 실행됩니다.
참조: https://www.devexpress.com/Support/Center/Question/Details/KA18674
솔루션을 정리한 다음 다시 빌드해 보십시오.Visual Studio는 새 dll을 만든 후에도 이전 dll에 대한 참조가 남아 있을 수 있습니다.
Simple Solution이 100% 도움이 되었습니다.
클래스를 App_Code 폴더 외부에 배치합니다.
http://vishaljoshi.blogspot.in/2009/07/appcode-folder-doesnt-work-with-web.html
동일한 오류가 발생했습니다. 'MyCustomDerivedFactory' 유형이 WCF 서비스 프로젝트의 App_Code 폴더에 있는 MyServiceHost 및 ServiceHostFactory 파생 클래스 모두에 있습니다.추가 중
<configuration>
<system.web>
<compilation batch="false" />
</system.web>
<configuration>
오류는 해결되지 않았지만 별도의 클래스 라이브러리 프로젝트에서 내 ServiceHost 및 ServiceHostFactory 파생 클래스를 이동하면 해결되었습니다.
이것을 사용해 보세요!
일반적으로 로컬에서 이 문제가 발생하면 모든 aspnet temp 폴더를 정리합니다.하지만 최근에 제가 애저에 제 웹사이트를 발표했을 때 일이 일어났습니다.따라서 "clean temp aspnet folder"는 해결책이 아니었습니다.
인터넷에서 검색한 결과 다음과 같은 것을 발견했습니다.
온도 ASP를 지웁니다.Azure 웹 사이트의 NET 파일
나에게는 그게 효과가 있어요!
App_Code 폴더는 MVC 프로젝트(WAP)와 함께 사용되지 않습니다.
App_Code 폴더의 파일은 특수 dll의 일부로 자동으로 컴파일됩니다.파일의 Build Action 속성이 Compile로 설정되어 있으면 동일한 클래스도 기본 dll의 일부로 컴파일되고 두 개의 복사본이 생성됩니다.
빌드 작업 속성을 없음으로 설정하면 프로젝트에 클래스 복사본이 하나만 있어야 합니다.컴파일러는 빌드할 때 App_Code 폴더에서 오류를 감지하지 않지만 IntelliSense는 코드를 검증하지만 컴파일 시간 오류는 즉시 컴파일될 때까지 나타나지 않습니다.
일반 폴더에 코드를 넣고 빌드 액션이 컴파일로 설정되어 있는지 확인하는 것이 좋습니다.
솔루션/프로젝트에 이름이 "도움말"인 클래스가 두 개 있을 수 있습니다.하나의 이름을 변경한 후 다시 작성
저도 제 프로젝트 중 하나에서 같은 문제를 겪었습니다.문제는 제가 마스터 페이지를 다루는 것에서 시작되었습니다.
두 페이지가 동일한 페이지를 "상속"하는 경우에도 문제가 발생합니다.
"로그인 마스터" 상단에 다음과 같은 코드 줄이 있었습니다.마스터" & "마스터 페이지".마스터"
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MainMaster.master.cs" Inherits="Master_Pages_Header" %>
"로그인 마스터"에서 상속을 변경했습니다.마스터 대상:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="LoginMaster.master.cs" Inherits="Master_Pages_LoginMaster" %>
저는 즉시 문제없이 프로젝트를 발표할 수 있었습니다.이것이 다른 사람에게 효과가 있기를 바랍니다.올바른 용어를 사용하지 못해 죄송합니다.
또한 상속 이름과 일치하도록 .cs의 클래스를 변경해야 합니다.그렇지 않으면 오류가 발생합니다.
IE:
public partial class Master_Pages_LoginMaster : System.Web.UI.MasterPage
ASP를 마이그레이션하는 경우.NET 2.0 웹 사이트로 이동합니다.NET Web APP 4.5, 당신도 그 문제를 가질 수 있습니다.batch=false를 넣거나 네임스페이스를 추가하는 등...일을 할 수 없습니다.
해결 방법은 이전 App_Code 폴더(또는 문제가 있는 폴더)의 이름을 Old_App_Code(자동 프로세스 수행과 동일) 또는 다른 이름으로 변경하는 것입니다.
비슷한 문제가 있었습니다. 제 경우에는 솔루션을 청소해도 Visual Studio의 bin 폴더가 지워지지 않습니다.문제의 원인이 되는 폴더에 이전 컴파일된 .dll이 있습니다.
솔루션:
- 수동으로 bin 폴더를 삭제하고 다시 컴파일합니다.
- 게시의 경우 게시하기 전에 기존 파일 삭제를 선택합니다.
이렇게 하면 문제가 해결됩니다.
웹 응용 프로그램(웹 사이트가 아님)에서 App_Code*.cs 빌드 작업(파일 속성)을 컴파일에서 콘텐츠로 변경합니다.그러면 문제가 해결됩니다.
저의 경우 프로젝트에서 이름은 같지만 확장자가 다른 항목을 사용해야 합니다.하나는 accountRep.aspx였고 다른 하나는 Crystal Report에서 만든 rep.rpt 계정이었습니다.accountReport.rpt를 accountReport.rpt로 변경했을 때 문제가 해결되었습니다.
제게 효과가 있었던 또 다른 잠재적인 해결책은 모든 참조를 변경하는 것이었습니다.
CodeFile="~/..."
로.
CodeBehind="~/..."
모든 .master 및 .aspx 페이지에서
이전 웹 사이트를 솔루션 파일을 사용하여 적절한 웹 응용 프로그램으로 변환할 때 이 문제가 발생했습니다.
다른 곳에서는 이 정보를 찾지 못했으니 누군가에게 도움이 되길 바랍니다.
확인하여 수정했습니다.Delete all existing files prior to publishVisual Studio에서:
이 경우, 클래스의 이름을 상속받는 클래스와 동일하게 잘못 지정했을 때 이 오류가 발생했습니다.
저는 이 페이지에서 거의 모든 제안을 시도했지만, 비주얼 스튜디오 2017을 제 컴퓨터에서 완전히 삭제해야 했습니다.최신 버전(2019)을 다시 설치했는데 마법처럼 작동했습니다.나는 이것이 미래에 누군가에게 도움이 되길 바랍니다.
이 충돌을 야기하는 dll 파일에서 참조되는 불필요한 NuGet 패키지 중 하나를 제거하여 이 문제를 해결했습니다.
이 경우 저는 ZXing을 둘 다 가지고 있었습니다.넷과 ZXing.Net.Mobile이 설치되었습니다.제가 ZXing을 제거하기 위해 Xamarin Forms에서 모바일 앱을 만들고 있었기 때문입니다.NetNuGet 패키지에서 이 문제를 해결했습니다.
서로 다른 프레임워크, 즉 ASP에 대한 중복된 NuGet 패키지가 없는지 확인하십시오.네트 대 사마린.
폴더 이름 변경 시도
APP_CODECODE.
이것이 제 문제를 해결했습니다.
또는 모든 코드 파일을 다른 폴더로 이동할 수 있습니다.
어셈블리 및 빌드에서 Webconfig의 수정 보고서 버전 중 하나에 주석을 달습니다.
언급URL : https://stackoverflow.com/questions/5425638/error-the-type-exists-in-both-directories
'programing' 카테고리의 다른 글
| node.js에서 다중 줄 문자열을 수행하려면 어떻게 해야 합니까? (0) | 2023.08.22 |
|---|---|
| 순수 Java에서 스프링 기본 설정을 재정의하지 않고 스프링 부팅 애플리케이션에서 Jackson을 구성하는 방법 (0) | 2023.08.22 |
| jQuery에서 모든 확인란 찾기 (0) | 2023.08.22 |
| Angular CLI 이미 존재하는 구성 요소에 대한 .spec 파일 생성 (0) | 2023.08.22 |
| 분할 함수를 사용하지 않고 버전 번호 비교 (0) | 2023.08.22 |
