2011-10-16 211 views
1

我有一個包含3個項目的Visual Studio 2010解決方案:一個dll項目,一個可執行項目和Installer項目。部署包含dll項目和exe項目的Visual Studio解決方案

我正在同時處理dll和可執行文件。可執行文件只是庫的前端。在Visual Studio中開發這兩個工具時,我只是在可執行文件中添加了對dll項目的引用,並且它工作正常。

我遇到的問題是部署。理想情況下,該DLL將被編譯並安裝在可執行文件的子目錄中。爲我的安裝程序使用「Visual Studio安裝程序 - 安裝嚮導」項目模板似乎沒有給我我需要的選項。

我通過在不同的項目中開發我的後端和前端來解決這個問題嗎?我應該採取什麼步驟將可編譯的dll與可執行文件一起部署?我可能會全力以赴,所以請幫助我理解一個更好的方法,如果這看起來倒退了。對於我在大學學到的所有編程,沒有人去過我做什麼,當我真的想要部署我的軟件。

回答

0

由於DLL項目明確地從EXE項目中引用,它會自動在EXE的build文件夾複製(即BIN \ Debug或Bin \發佈),被認爲是部分EXE項目的「主要輸出」。因此,您只需要從安裝項目中引用EXE。

安裝的DLL將與EXE位於同一文件夾中。爲什麼要將DLL安裝在用戶計算機上的其他文件夾中(如果它不在開發計算機上)?如果您正在動態加載並使用反射,則不要從EXE中引用它,而是從安裝項目中引用它,然後讓您可以設置所需的任何目標文件夾。

+0

是的,我明白你的意思了。我不需要任何特定目錄中的dll - 我只是運行了構建/安裝,併成功地將dll和可執行文件安裝在相同的目錄中,這很好。現在唯一的問題是,從開始菜單啓動我的程序會產生一個錯誤,Windows「無法加載文件或程序集」SimTools,版本1.0.0.0等或其依賴項之一,系統找不到指定的文件。但是,請注意,如果我瀏覽到資源管理器中的可執行文件,我可以運行該程序並正常運行。 – Michael

+0

我也解決了這個問題,這只是我的捷徑實際指向的問題。 Visual Studio看起來非常強大,但構建過程看起來相當複雜。 – Michael

0

這就是你需要做的。

您的解決方案創造新的項目>其他項目類型>單擊安裝和部署

上的應用程序文件夾>右鍵單擊>添加您的前端應用程序>構建。

Check this

問候

+0

鏈接不再有效。你能更新嗎? –

相關問題