Skip to content

DigitalPlatform/dp2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dp2 图书馆集成系统

An Integrated Library System write in .NET

dp2 图书馆集成系统是 数字平台(北京)软件有限责任公司于 2006 年开始开发的一套图书馆业务系统软件。现在我们决定将它开源,奉献给全社会。

这套系统包含下列模块:

  • dp2Kernel - 数据库内核(标准版)
  • dp2Library - 图书馆应用服务器(标准版)
  • dp2LibraryXE - 图书馆应用服务器(单机版和小型版)
  • dp2ZServer - Z39.50 服务器
  • dp2OPAC - 读者公共查询
  • dp2Circulation - 内务前端
  • dp2Catalog - 编目前端
  • dp2Batch - 内核批处理前端
  • dp2Manager - 内核管理
  • dp2rms - 内核资源管理
  • GcatLite - 通用汉语著者号码表取号示范程序

我们将继续维护和销售原有的企业版,并增加社区版的发行包下载服务。企业版和社区版采用同一套源代码,社区版的功能更新一般会比企业版要稍晚一些。

欢迎有识之士加入我们的开发和推广团队,以便更多更好地为这套系统增添功能。email: xietao@dp2003.com


QQ群:

开发事宜:开源dp2系统开发 163251536

产品使用咨询:数字平台产品 487513826


数字平台(北京)软件有限责任公司 谢涛 2015.5.7

如何编译

  1. 应使用 Visual Studio 2019 或 2022

  2. 确保安装过 .NET Core SDK 2.6 以上版本

下载地址: https://dotnet.microsoft.com/download/visual-studio-sdks

  1. dp2 Solution 中引用了一个名为 dp-library 的submodule。需要用 Git 命令行执行下面命令: (如何打开Git 命令行?可以先安装一个Git桌面工具,例如GitHub Desktop,然后通过菜单Repository/open in command prompt 打开命令行。 或者下载 Git For Windows,然后启动Git Shell)。
git submodule init
git submodule update
cd dp-library
git pull

注1:或者可用 git submodule update --init --recursive 注2:如果 git pull 命令报错说 You are not currently on a branch.,可以用 git pull origin master 以确保获得最新的 dp-library 代码。

第3步详细执行结果

D:\code\dp2>git submodule init

D:\code\dp2>git submodule update

D:\code\dp2>cd dp-library

D:\code\dp2\dp-library>git pull
You are not currently on a branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

    git pull <remote> <branch>


D:\code\dp2\dp-library>git pull origin master
fatal: unable to access 'https://github.com/DigitalPlatform/dp-library.git/': OpenSSL SSL_read: Connection was reset, errno 10054

D:\code\dp2\dp-library>git pull origin master
From https://github.com/DigitalPlatform/dp-library
 * branch            master     -> FETCH_HEAD
Updating 7fbbf14..e22781d
Fast-forward
 DigitalPlatform.Core/CompactLog.cs                 |  34 ++-
 DigitalPlatform.Core/ConfigSetting.cs              | 286 +++++++++++++++++-
 DigitalPlatform.Core/StringUtil.cs                 |  11 +
 DigitalPlatform.Core/deleted.txt                   | 333 +++++++++++++++++++++
 DigitalPlatform.SIP/BaseMessage.cs                 |   2 +-
 DigitalPlatform.SIP/Request/Checkin_09.cs          |   2 +-
 DigitalPlatform.SIP/Request/Checkout_11.cs         |   2 +-
 DigitalPlatform.SIP/Request/Login_93.cs            |   7 +-
 .../Request/PatronInformation_63.cs                |   2 +-
 DigitalPlatform.SIP/Request/Renew_29.cs            |   2 +-
 DigitalPlatform.SIP/SCHelper.cs                    |  12 +-
 DigitalPlatform.Z3950/BerNode.cs                   |  16 +-
 UnitTestCompactLog/UnitTest1.cs                    |   2 -
 UnitTestCompactLog/UnitTestCompactData.cs          |  31 ++
 UnitTestCompactLog/UnitTestCompactLog.csproj       |  16 +-
 15 files changed, 730 insertions(+), 28 deletions(-)
 create mode 100644 DigitalPlatform.Core/deleted.txt
 create mode 100644 UnitTestCompactLog/UnitTestCompactData.cs

D:\code\dp2\dp-library>

如果在dp2代码中修改的dp-library中的代码,那么同步dp-library的代码会报错,如下

D:\code\chord\dp-library>git pull origin master
remote: Enumerating objects: 17, done.
remote: Counting objects: 100% (17/17), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 11 (delta 8), reused 11 (delta 8), pack-reused 0
Unpacking objects: 100% (11/11), 1.08 KiB | 27.00 KiB/s, done.
From https://github.com/DigitalPlatform/dp-library
 * branch            master     -> FETCH_HEAD
   7c720d9..aa89e52  master     -> origin/master
error: Your local changes to the following files would be overwritten by merge:
        DigitalPlatform.SIP/Request/PatronInformation_63.cs
Please commit your changes or stash them before you merge.
Aborting
Updating 7c720d9..aa89e52

此时可以先用git reset --hard放弃本地代码,再拉取dp-library。如下:

D:\code\chord\dp-library>git reset --hard
HEAD is now at 7c720d9 修改提示

D:\code\chord\dp-library>git pull origin master
From https://github.com/DigitalPlatform/dp-library
 * branch            master     -> FETCH_HEAD
Updating 7c720d9..aa89e52
Fast-forward
 DigitalPlatform.SIP/Request/PatronInformation_63.cs          | 2 +-
 DigitalPlatform.SIP/Response/PatronInformationResponse_64.cs | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Git 命令执行以后,需要重新打开 dp2 Solution 变动才能生效

  1. 编译中若出现类似这样的报错:
13>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3214,5): warning MSB3327: 无法在当前用户的 Windows 证书存储中找到代码签名证书。若要更正此问题,请禁用 ClickOnce 清单的签名或将证书安装到证书存储中。
13>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3214,5): error MSB3323: 在证书存储区中找不到清单签名证书。

需要将一些 .exe 的 Project (例如 dp2Catalog)的“签名”属性页中“为 ClickOnce 清单签名”这个 checkbox 清除选择。