簡體   English   中英

如何在.NET 3.0計算機上部署ClickOnce .NET 3.5應用程序?

[英]How to deploy a ClickOnce .NET 3.5 application on a .NET 3.0 machine?

我有.NET 3.5 SP1 WPF應用程序,我使用ClickOnce成功部署到客戶端計算機。

現在我有了新的要求 - 我們的一個客戶需要在裝有.NET 3.0的機器上運行應用程序,而且完全不可能在機器上升級或安裝任何東西。 我已經嘗試運行3.5應用程序,將一些3.5 .NET Framework DLL復制到應用程序目錄,並且它沒有任何問題。 目前唯一的問題是ClickOnce。 我已經在應用程序文件列表中包含了3.5 .NET Framework System。*。dll文件,但它總是在3.0機器上中止安裝,並顯示以下錯誤消息:

無法安裝或運行該應用程序。 該應用程序要求首先在全局程序集緩存(GAC)中安裝程序集System.Core版本3.5.0.0。 請聯系您的系統管理員。

我已經嘗試在項目的“發布”選項卡上調整先決條件,但沒有任何組合解決了這個問題。

ClickOnce的哪個部分負責檢查先決條件? 我已經嘗試使用mageui.exe進行部署,但仍然存在3.5 .NET Framework錯誤。 我應該怎么做才能使ClickOnce停止檢查任何先決條件?

該項目是使用Visual Studio 2010創建的。


我可能只是找到問題的原因 - ClickOnce發布過程(以及MageUI)還生成一個應用程序清單文件,該文件在某些​​3.5程序集(System.Core,System.Data.Entity)上定義依賴關系“preRequisite”。 所以我只需要強制ClickOnce發布/ MageUI不以某種方式生成這些依賴項...

如何使用針對3.0 Framework的存根.exe? 您可以在同一個ClickOnce安裝中部署應用程序和存根,並將存根作為入口點。 存根唯一的工作就是啟動3.5可執行文件。

我不確定您是否能夠使用Visual Studio創建此類部署。 您可能需要使用MageUI

編輯
在回復您的評論時,請嘗試從清單文件中刪除“先決條件”條目。 只需使用文本編輯器刪除它們,然后使用命令行Mage重新簽名

在沒有.NET 3.5的計算機上,無法運行以.NET 3.5為目標的應用程序。 如果要在僅支持.NET 3.0的計算機上安裝此應用程序,則必須將目標框架降級到.NET 3.0,並相應地更改先決條件。

在C#解決方案中,這是在每個項目的屬性頁面的“應用程序”選項卡上。

在VB解決方案中,IIRC位於“編譯”選項卡的“高級選項”下。

我收到此消息是因為我選中了創建桌面快捷方式的選項 - 必須添加.NET Framework 3.5 SP1的先決條件才能修復它,因此您可能必須在程序中添加快捷方式(如果這導致了消息而您無法升級框架)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM