0
我們正在嘗試爲我們的內部網站創建網站驗證程序,以驗證所有網站都已啓動。爲此,我們使用硒鉻合金。部署後找不到引用文件C#
我們有2個這樣的項目: 1個執行代碼的主項目。 1「共享」項目,在我們所有不同的解決方案之間共享。該項目包含用於多個解決方案的數據。
我們已經放在chromedriver在共享項目中,並將其初始化像這樣:
public static IWebDriver InitiateChromeDriver()
{
ChromeOptions option = new ChromeOptions();
option.AddUserProfilePreference("download.default_directory", downloadPath);
option.AddUserProfilePreference("disable-popup-blocking", "true");
var path = Path.GetFullPath("Utility");
Console.WriteLine(path);
IWebDriver driver = new ChromeDriver(path, option, TimeSpan.FromMinutes(20));
return driver;
}
這種方法被放置在「工具」文件夾中,與Chromedriver.exe在一起,並且可以在本地運行時通過Visual Studio進行調試。 當我們將其部署到我們的生產服務器時,它無法找到chromedriver的路徑。引用的路徑在我們的生產服務器上變爲C:\ windows \ system32 \ inetsrv \ Utility \ chromedriver.exe。
什麼是引用文件更好的方法,並確保路徑是正確的?
一個簡單的解決方法是將解決方案的.Config文件中的路徑存儲,然後使用它。 –
這種方法的問題是,路徑可能會改變。我們有幾臺服務器在IIS上運行不同的站點,並不是所有的都在C:/驅動器上運行,所以路徑會改變。另一件事是文件夾的名稱,因爲我們有以前的版本存儲。 當我們部署時,新的文件夾名稱中會附帶部署的當前時間戳,因此文件夾名稱也會更改。 – Jannik
然後,您可以嘗試使安裝程序將路徑保存到註冊表項(假設它是MSI或類似的東西)。 –