2011-09-16 93 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'](用名稱替換爲真實名稱)讀取連接字符串,它會給我一個空串。

我在SO和其他地方閱讀了關於它的文章後,嘗試了上面的代碼。

有沒有人知道任何其他方式來加載app.config文件或檢查是否加載,除了我正在使用的嗎?

回答

0

如果您的應用程序是在asp.net應用程序中運行的類庫,則會從該網站的web.config中進行設置。不確定SP,但嘗試將連接字符串添加到SP的web.config。

編輯:我沒有得到你之前,現在我明白這更好的,你是從PowerShell中加載程序集,所以你應該使用一個特定的語法爲您的類庫「注入」你的app.config。

這裏是您的解決方案,看到大多數投票的答案:Powershell Calling .NET Assembly that uses App.config

+0

的設置是在web.config中的SharePoint,但由於某些原因的代碼不讀它們。我約99%確定問題沒有得到連接字符串,因爲如果它獲取連接字符串,並且其他出錯的話,那麼在每個記錄到數據庫的方法中都有try-catch。我讀過的是,使用PS反對SP不會讀取web.config,但所有關於這一切的都是好的記錄。 – esrange

+0

您的編輯鏈接到使我使用我使用的行的文章之一。 – esrange