2013-07-23 97 views
2

全部,部署.NET C#控制檯應用程序

我在VS2010(.NET4)中創建了一個C#控制檯應用程序。打到數據庫併發送電子郵件。 當我從VS運行,但在部署應用到遠程服務器上有我昏昏沉沉,它工作正常。我需要做的就是在(1)遠程Windows服務器上安裝此應用程序。

應該很簡單吧?

望着發佈設置,我沒有看到任何東西,這將只是建立在本地,而無需創建一個安裝程序(從CD-ROM或DVD-ROM)和其他2個選項真的沒有任何申請,在至少通過他們的描述。

因此,這裏是我做過什麼至今:

,我給出的VS2010發佈選項如下:

步驟#1拍攝選項3 enter image description here

步驟#2將生成的遠程服務器上的文件 enter image description here

第3步運行安裝安裝

第4步得到這個錯誤

enter image description here

問題

我是不是正確地處理這個? 如果不是,我需要做什麼?

感謝

+5

最好的方法是構建(編譯)應用程序並將工件(exe,configs和dll)輸出複製到最終目標。 – tucaz

+0

同意.NET支持「XCOPY」的部署,只需複製發佈版本了。 –

+0

tucaz就在大多數情況下,雖然有時你只需要安裝在目標系統上的prerquiste庫。我認爲與辦公室的DLL問題,你可以做一個或另一個。在安裝目標系統的辦公室之前,我會嘗試複製tucaz先說的內容。 –

回答

3

意識到錯誤:

The application requires that assembly office Version 12.0.0.0 be installed in the Global Assembly Cache (GAC) first.

參考this answerthis MSDN question其中包含了答案,我引述如下:

We solved it by going into the Applications Files dialog under the publish tab of the Project's properties and changing the office.dll assembly to Include. It had previously been set to prerequisite (auto). -- Dave3182

+0

我想可能會有一些第三方的dll使用Office的東西?我沒有直接做任何事情。 – Slinky

+0

可能!我確定它不是在說:) –

+0

將office.dll和Office.Interop.Outlook添加到應用程序文件中修復它。謝謝 – Slinky

0

它看起來像你的應用程序正在利用微軟辦公(2003年,我認爲)COM對象。這將需要在您的服務器上安裝相同版本的Office。

如果您正在利用Office格式文件(例如,.doc,.docx,.xls,.xlsx),則可以查看第三方庫,以便您在未安裝Office的情況下創建格式化文件。如果您只是使用Outlook發送電子郵件,則應該使用.NET庫重新實現該功能。

相關問題