2009-11-04 180 views
3

我有一個簡單的C#控制檯應用程序在我的本地機器上使用VS2008 Pro開發。我想知道如何將此解決方案部署到網絡共享文件夾中?C#控制檯應用程序部署

一個類似的Java控制檯程序已經放置在同一網絡共享文件夾中(作爲JAR文件)。用戶只需打開命令提示符,導航到共享文件夾,然後鍵入「java -jar programName.jar inputParameter1 inputParameter2」

如何才能實現與.NET相同的功能?

回答

7

您可以將exe複製到自己的目錄中,轉到源代碼所在目錄中的bin文件夾並將其複製到那裏。

或者您可以單擊BUILD菜​​單並使用PUBLISH菜單項。這將允許您輸入網絡共享的路徑,Visual Studio會將構建的應用程序複製到您的文件夾。

0

右鍵單擊您的項目,選擇發佈將生成可執行文件,您可以將其放入共享驅動器中,類似地,用戶可以進入命令提示符並運行它並給出一些參數。

1

這與Java程序大致相同。要部署,編譯該程序並將bin文件夾中的exe(以及任何依賴項)複製到網絡共享中。

要運行該程序的用戶將打開命令提示符,導航到共享文件夾,如果你的應用程序是真正的「簡單的」輸入「programName.exe inputParameter1 inputParameter2」

+0

你甚至不需要.exe! ;)但是,這與OP描述的Java版本幾乎完全相同,除了不需要調用JVM並直接運行可執行文件之外。 – bakasan 2009-11-04 21:08:29

+1

@bakasan - 確實,您也可以從命令行運行「programName inputParameter1 inputParameter2」。 – Greg 2009-11-04 21:11:09

+0

感謝您的回覆。不過,我仍然無法成功部署這個應用程序。我確實使用ClickOnce將它發佈到網絡共享文件夾中。在共享驅動器上,我得到以下結構1.應用程序文件(文件夾) - > ABC_1_0_0_1 - > ABC(應用程序清單)ABC.exe.deploy ABC.exe.manifest Interop.DSOFile.dll.deploy 2. ABC(應用程序清單)3.設置(應用程序) 然後我將RDP發送到目標機器並導航到上面的共享文件夾。我雙擊Setup.exe命令propmt屏幕指示程序已運行,但會由於沒有輸入參數而退出。 – DRags 2009-11-04 22:47:39

2

,你應該能夠把剛纔複製的文件到共享文件夾並從那裏運行。但是,如果您的「簡單」應用程序嘗試執行受權限限制的事情,則可能需要使用caspol進行配置。從共享驅動器加載的程序集比從本地驅動器加載的程序集的權限少得多。

+1

正確,但策略已隨Fx3.5SP1更改,現在認爲共享(大部分)等於本地文件夾。 – 2009-11-04 21:26:25

+0

@亨克 - 沒錯,謝謝。 – 2009-11-04 22:46:16

+0

@HenkHolterman:除非你的內部IP地址實際可路由:( – user7116 2011-10-17 19:52:43

0

假設他們已經安裝了正確的依賴關係(.net,第三方程序集等),完全一樣。複製bin文件夾,然後讓他們執行exe文件。

0

看看ClickOnce部署:

ClickOnce是微軟技術 部署Windows窗體或Windows 基於基金會介紹 軟件,也稱爲智能客戶端。 它與Java平臺上的 的Java Web Start類似。

MSDN

Wikipedia

1

您可以使用發佈VS.特徵請注意,您可以更改控制檯應用程序項目的「發佈」部分中的設置,以刪除一些您不需要的功能。例如,通過將'.deploy'擴展名附加到文件的名稱或每次在新的'版本'文件夾中發佈來重命名.dll和.exe文件。轉到「項目屬性」 - >「發佈」,並在「發佈版本」中刪除「自動遞增修訂」複選框,單擊「選項...」按鈕並清除所有複選框。