2011-09-16 3 views
2

사이트 만들기시 일부 코드가있는 사용자 지정 사이트 정의를 사용하여 사이트를 만드는 SharePoint 2010 기능이 있습니다. PowerShell에서이 기능을 비활성화하고 활성화하려고하는데 비활성화 상태이지만 web.config에서 데이터베이스 연결 문자열이 필요하기 때문에 활성화가 실패합니다.PowerShell에서 .Net 어셈블리 실행을위한 App.config

연결 문자열을 app.config 파일을로드하고 [System.AppDomain]::CurrentDomain.SetData("APP_CONFIG_FILE", $config_path)으로로드하십시오. 여기서 $ config_path는 내 app.config의 절대 경로이지만 여전히 실패하고 [Configuration.ConfigurationManager]::ConnectionStrings['name'] (실제 이름으로 대체 된 이름 포함)에서 연결 문자열을 읽으려고하면 빈 공간이됩니다 끈.

나는 여기와 다른 곳에서이 코드를 읽은 후에 위 코드를 시도했다.

다른 사람이 app.config 파일을로드하는 다른 방법을 알고 있습니까? 아니면 내가 사용했던 것을 제외하고로드되어 있는지 확인하는 좋은 방법이 있습니까?

답변

0

asp.net 응용 프로그램 내에서 실행되는 클래스 라이브러리 인 경우 해당 웹 사이트의 web.config에서 설정을 가져옵니다. SP에 대해서는 확실치 않지만 SP의 web.config에 연결 문자열을 추가하십시오.

편집 : 당신이 당신의 클래스 라이브러리에 대한 귀하의 app.config를 "주입"특정 구문을 사용한다, 그래서 내가 이전에, 지금이 더 잘 이해 못해서, 당신은 파워 쉘에서 어셈블리를로드. 여기

이 솔루션이며, 대부분의 투표 대답을 참조하십시오 Powershell Calling .NET Assembly that uses App.config

+0

설정은 SharePoint 용의 Web.config에 있지만, 코드를 읽지 않습니다 어떤 이유로됩니다. 나는 약 99 %의 연결 문자열을 얻지 못한다는 확신이있다. 연결 문자열을 얻었을 때 뭔가 잘못되면 데이터베이스에 기록하는 모든 메서드 안에 try-catch가 있기 때문이다. SP에 대해 PS를 사용하면 web.config가 읽히지 않지만 이것에 관한 모든 내용은 문서화 된 것입니다. – esrange

+0

내가 사용한 행을 사용하게 한 게시물 중 하나에 대한 편집 링크. – esrange