請先看專案分層的最後結構:
2.設計的初衷
專案較大,且主題鮮明,分為:bi模組、dm-使用者洞察模組、manage-應用管理模組、report應用分析報表模組,大模組之間並無依賴關係。
部分功能模組因為**存量很大,採用的是jquery+razor+mvc的技術棧,而現行的webapi+vue單頁面應用與之技術棧不同,所以不放在同乙個工程中並存使用,而是直接搬移舊**,做css樣式替換和許可權控制。
為什麼不通過sso拆開獨立子站點部署?體量不大,無需增大成本,以後如體量增大,大模組也可通過新增web.host工程單獨部署。
看這個即可。
如果是core專案,則無需麻煩,會自動成功,但是在netframework4.6下,會出現找不到控制器問題。解決方案1:
以:sd_game分割,可看截圖。
public override void initialize()}}
解決方案2:
在分離的專案中引入abp,新建reportwebcoremudule.cs
[dependson(
typeof(abpaspnetcoremodule)
)]public class reportwebcoremudule : abpmodule
public override void postinitialize()
public override void preinitialize()
public override void initialize()}}
2.修改sd_game.web.host工程檔案中的webhostmodule.cs檔案
[dependson(
typeof(managewebcoremudule),
//依賴建立的模組,其他都不用修改
typeof(reportwebcoremudule),
typeof(biwebcoremudule),
typeof(dmwebcoremodule)
)]public class dmwebhostmodule : abpmodule
此時controller均可以找到,但是分離在類庫中的razor檔案會找不到。
解決方案:
修改:sd_game.report.web.core.csproj
此時,專案分離以及完成! 但是!在發布的時候,開啟子模組的razor頁面,會報錯:system.invalidoperationexception: cannot find reference assembly 'microsoft.win32.primitives.dll' file for package microsoft.win32.primitives
在 microsoft.extensions.dependencymodel.resolution.referenceassemblypathresolver.tryresolveassemblypaths(compilationlibrary library, list`1 assemblies)
在 microsoft.extensions.dependencymodel.resolution.compositecompilationassemblyresolver.tryresolveassemblypaths(compilationlibrary library, list`1 assemblies)
在 microsoft.extensions.dependencymodel.compilationlibrary.resolvereferencepaths(icompilationassemblyresolver resolver, list`1 assemblies)
在 microsoft.extensions.dependencymodel.compilationlibrary.resolvereferencepaths()
在 system.linq.enumerable.d__17`2.movenext()
在 microsoft.aspnetcore.mvc.razor.compilation.metadatareferencefeatureprovider.populatefeature(ienumerable`1 parts, metadatareferencefeature feature)
在 microsoft.aspnetcore.mvc.razor.internal.defaultrazorreferencemanager.getcompilationreferences()
在 system.threading.lazyinitializer.ensureinitializedcore[t](t& target, boolean& initialized, object& synclock, func`1 valuefactory)
在 microsoft.aspnetcore.mvc.razor.internal.defaultrazorreferencemanager.get_compilationreferences()
在 microsoft.aspnetcore.mvc.razor.internal.lazymetadatareferencefeature.get_references()
在 microsoft.codeanalysis.razor.compilationtaghelperfeature.getdescriptors()
在 microsoft.aspnetcore.razor.language.defaultrazortaghelperbinderphase.executecore(razorcodedocument codedocument)
在 microsoft.aspnetcore.razor.language.razorenginephasebase.execute(razorcodedocument codedocument)
在 microsoft.aspnetcore.razor.language.defaultrazorengine.process(razorcodedocument document)
在 microsoft.aspnetcore.razor.language.defaultrazorprojectengine.processcore(razorcodedo
解決方案:
修改: sd_game.web.host.csproj
新增:
true
修改: sd_game.report.web.core.csproj
true
true
ok,完成專案剝離。 SQ專案 MM功能增強業務說明書
mm 功能增強說明。在mm業務中,增強開發眾多,分別有功能增強 系統開發 程式開發 報表查詢等 業務描述 採購訂單建立時,改變訂單型別後,清空所有行專案資料,避免使用者變相的可以修改訂單 功能操作 採購訂單建立時 增強程式 me process po cust process header 業務描述...
專案總結 如何上手乙個業務系統
作為乙個已經上線執行已久的業務系統,它的功能相對完備,若以乙個新手的姿態去上手,肯定都需要花些功夫,但我覺得可以從以下幾點去入手 當然,即便作為乙個老的團隊成員,對專案到底掌握到什麼程度,我覺得仍然可以通過以下幾點來衡量。只不過新手從以下幾點入手,每一點都只處在乙個較淺的層面,老的團隊成員,需要在每...
專案經理如何服務好業務人員
專案經理如何服務好業務人員 我個人所理解的業務主要工作就是拿單 使得產品達到客戶滿意度 收款,當然這一簡單的過程需要很多前提條件,做為專案經理,結合目前此產品現狀以及自己平時工作接觸到業務部分,我認為專案經理可以為業務人員服務的內容如下 1.充分理解產品 最終目標 與業務人員針對產品的一些溝通,沒有...