版本發布:
一、區域網共享檔案方式
發布介面:
更新介面:
二、ftp方式
發布介面更新介面:
(只會更新有變動的檔案)
同步新增,替換與刪除
實現方式xml(檔名+檔案最後修改時間)
狀態判斷:linq(通過對比本地xml和伺服器xml的不同)
xml實質是一張dataset
包含兩張表
#region 獲得資料集結構linq伺服器和本地對比**://////獲得資料集結構
/// ///
protected
dataset generatedataschema()
#endregion
版本發布:
//版本更新:需要新增的
//需要刪除的
//需要替換的
var dataedit = from dtlocation in
localdetailfiles.asenumerable()
join dtserver
inserverdetailfiles.asenumerable()
on dtlocation.field
(dataschema.detailschema.path) + dtlocation.field(dataschema.detailschema.name) equals
dtserver.field
(dataschema.detailschema.path) + dtserver.field(dataschema.detailschema.name)
where dtlocation.field(dataschema.detailschema.editdate) > dtserver.field(dataschema.detailschema.editdate)
select
new;
var dataadd = from dtlocal in
localdetailfiles.asenumerable()
where !serverdetailfiles.asenumerable().any(y => y.field(dataschema.detailschema.path) + y.field(dataschema.detailschema.name) == dtlocal.field(dataschema.detailschema.path) + dtlocal.field(dataschema.detailschema.name))
select
new;
var datadelete = from dtserver in
serverdetailfiles.asenumerable()
where !localdetailfiles.asenumerable().any(y => y.field(dataschema.detailschema.path) + y.field(dataschema.detailschema.name) == dtserver.field(dataschema.detailschema.path) + dtserver.field(dataschema.detailschema.name))
select
new;
dtupdatefiles = new
datatable();
dtupdatefiles.columns.add(
"name
", typeof
(system.string));
dtupdatefiles.columns.add(
"path
", typeof
(system.string));
dtupdatefiles.columns.add(
"type
", typeof
(system.string));
foreach (var v in
dataadd)
foreach (var v in
dataedit)
foreach (var v in
datadelete)
//需要新增的
//需要刪除的
//需要替換的
var dataedit = from dtserver in
serverdetailfiles.asenumerable()
join dtlocation
inlocaldetailfiles.asenumerable()
on dtserver.field
(dataschema.detailschema.path) + dtserver.field(dataschema.detailschema.name) equals
dtlocation.field
(dataschema.detailschema.path) + dtlocation.field(dataschema.detailschema.name)
where dtserver.field(dataschema.detailschema.editdate) > dtlocation.field(dataschema.detailschema.editdate)
select
new;
var dataadd = from dtserver in
serverdetailfiles.asenumerable()
where !localdetailfiles.asenumerable().any(y => y.field(dataschema.detailschema.path) + y.field(dataschema.detailschema.name) == dtserver.field(dataschema.detailschema.path) + dtserver.field(dataschema.detailschema.name))
select
new;
var datadelete = from dtlocation in
localdetailfiles.asenumerable()
where !serverdetailfiles.asenumerable().any(y => y.field(dataschema.detailschema.path) + y.field(dataschema.detailschema.name) == dtlocation.field(dataschema.detailschema.path) + dtlocation.field(dataschema.detailschema.name))
select
new;
Winform打包發布
檢視程式或動態鏈結庫需要的動態鏈結庫 dumpbin dependentsd test.exe 檢視動態鏈結庫的輸出函式 dumpbin exportsd libmysql.dll 該打包過程在vs2005中,程式是用c 寫的。1.新建安裝和部署 開啟你所寫的專案 在解決方案上右鍵 新增 新建專案。...
winform程式更新
更新程式和主程式是分開的,得在做乙個exe可執行更新程式。主程式在登陸時判斷是否需要更新。我這邊判斷方式是直接在配置檔案裡面設定版本號,然後和伺服器上面的版本對比,低於伺服器版本就更新程式。獲取配置檔案資訊,前幾章隨筆裡面有提到。version now v new version strval 當前...
CWSS發布版本歷史, 持續更新中
正式發布版本歷史如下 所有資源 http yanghz.download.csdn.net cwss 0.8.0 發布日期 2008 02 26 描述 增加對web service soap 的支援,同時開放所有原始碼.cwss 0.5.7 發布日期 2007 11 29 描述 主要完善客戶端的開發...