2009-08-17 4 views
1

ASP.Net 웹 사이트에 포함 된 클래스 라이브러리의 bin 폴더에서 XML 파일을 가져와야합니다. 현재 프로젝트를 빌드 할 때 xml 파일은 클래스 라이브러리의 bin 폴더에 있지만 웹 사이트의 bin 폴더에 복사되지 않습니다.ASP.NET 웹 사이트 프로젝트의 bin 폴더에 XML 파일 포함

포스트 빌드 이벤트를 사용하는 솔루션을 보았지만 이러한 것들은 웹 애플리케이션 프로젝트에서만 사용되므로 사용할 수 없습니까?

다른 아이디어? 파일 (F4)의

답변

0

(당신은 웹 응용 프로그램 프로젝트 템플릿 수처럼 당신도 프로젝트에/bin 폴더를 추가 할 수 없습니다) 웹 사이트 프로젝트를 위해이 작업을 수행하는 우아한/쉬운 방법이 없습니다 .

내가 제안하는 것은 .xml을/bin에 넣는 대신,/config 폴더 또는 다른 적절한 폴더와 거기에있는 참조에 넣는 것입니다.

+2

"App_Data"폴더에 배치하는 것이 좋습니다. –

+0

이것은 내가 찾은 유일한 해결책이기도합니다. 감사. –

0

변경 속성 = 출력 디렉토리에 복사 당신이 원하는대로

이해야 할 사실이있다.

+0

웹 사이트 프로젝트에서 작동하지 않습니다 (웹 앱 프로젝트에서 작동 함). – JMP

0

프로젝트에 리소스로 파일을 추가합니다 (프로젝트 속성, "자원", "... 기존 파일 추가" "리소스 추가"를 선택을 클릭합니다.

을 이제 파일의 내용에 액세스 할 수 있습니다 같은 :

Properties.Resources.YourResourceName; 

당신은 몇 줄의 코드를 사용하여 파일을 "다시"수 Global.asac.cs이를 위해 좋은 장소 같습니다.

protected void Application_Start(object sender, EventArgs e) 
{ 
    // ... get the bin directory ... 
    if (!System.IO.File.Exists(YourBinDir)) 
    { 
     System.IO.File.AppendAllText(YourBinDir, Properties.Resources.YourResourceName); 
    } 
} 

그러나 나는 또한 당신이하는 것이 좋습니다 것입니다이런 파일을 App_Data 폴더에 저장하십시오. 앱의 나머지 부분과 함께 배포할지 여부를 결정하거나 누락 된 DLL을 다시 만들도록할지 여부는 실제로 당신에게 달린 것입니다. :)

관련 문제