I am running the VoloDocs application. After configuring the project, I am getting the following exceptions. I have also attached the project configuration details. Is there anything I’m missing?
- Exception message and full stack trace: 2025-10-30 07:49:48.574 +04:00 [INF] Request starting HTTP/2 GET https://localhost:5001/documents/en/test/latest - null null 2025-10-30 07:49:48.713 +04:00 [INF] Executing endpoint '/Documents/Project/Index' 2025-10-30 07:49:48.746 +04:00 [INF] Route matched with {page = "/Documents/Project/Index", area = "", action = "", controller = ""}. Executing page /Documents/Project/Index 2025-10-30 07:49:48.751 +04:00 [INF] Skipping the execution of current filter as its not the most effective filter implementing the policy Microsoft.AspNetCore.Mvc.ViewFeatures.IAntiforgeryPolicy 2025-10-30 07:49:48.939 +04:00 [INF] Executing handler method Volo.Docs.Pages.Documents.Project.IndexModel.OnGetAsync - ModelState is "Valid" 2025-10-30 07:49:49.111 +04:00 [INF] Executed DbCommand (1ms) [Parameters=[@__normalizeShortName_0='?' (Size = 32)], CommandType='"Text"', CommandTimeout='30'] SELECT TOP(1) [d].[Id], [d].[ConcurrencyStamp], [d].[DefaultDocumentName], [d].[DocumentStoreType], [d].[ExtraProperties], [d].[Format], [d].[LatestVersionBranchName], [d].[MainWebsiteUrl], [d].[MinimumVersion], [d].[Name], [d].[NavigationDocumentName], [d].[ParametersDocumentName], [d].[ShortName] FROM [DocsProjects] AS [d] WHERE [d].[ShortName] = @__normalizeShortName_0 2025-10-30 07:49:49.332 +04:00 [INF] Executed DbCommand (1ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30'] SELECT [d].[Id], [d].[ConcurrencyStamp], [d].[DefaultDocumentName], [d].[DocumentStoreType], [d].[ExtraProperties], [d].[Format], [d].[LatestVersionBranchName], [d].[MainWebsiteUrl], [d].[MinimumVersion], [d].[Name], [d].[NavigationDocumentName], [d].[ParametersDocumentName], [d].[ShortName] FROM [DocsProjects] AS [d] 2025-10-30 07:49:49.358 +04:00 [INF] Executed DbCommand (1ms) [Parameters=[@__normalizeShortName_0='?' (Size = 32)], CommandType='"Text"', CommandTimeout='30'] SELECT TOP(1) [d].[Id], [d].[ConcurrencyStamp], [d].[DefaultDocumentName], [d].[DocumentStoreType], [d].[ExtraProperties], [d].[Format], [d].[LatestVersionBranchName], [d].[MainWebsiteUrl], [d].[MinimumVersion], [d].[Name], [d].[NavigationDocumentName], [d].[ParametersDocumentName], [d].[ShortName] FROM [DocsProjects] AS [d] WHERE [d].[ShortName] = @__normalizeShortName_0 2025-10-30 07:49:49.976 +04:00 [INF] AUDIT LOG: [500: GET ] /documents/en/test/latest
- UserName - UserId : -
- ClientIpAddress : ::1
- ExecutionDuration : 583
- Actions:
- Volo.Docs.Projects.ProjectAppService.GetVersionsAsync (566 ms.) {"shortName":"test"}
- Exceptions:
- 'main.0.0' is not a valid version string. (Parameter 'value')
System.ArgumentException: 'main.0.0' is not a valid version string. (Parameter 'value')
at NuGet.Versioning.SemanticVersion.Parse(String value)
at Volo.Docs.GitHub.Documents.Version.SemanticVersionHelper.<>c.<OrderByDescending>b__2_0(VersionInfo v) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Domain.Shared\Volo\Docs\Documents\Version\SemanticVersionHelper.cs:line 25
at System.Linq.Enumerable.EnumerableSorter
2.ComputeKeys(TElement[] elements, Int32 count) at System.Linq.Enumerable.EnumerableSorter1.ComputeMap(TElement[] elements, Int32 count) at System.Linq.Enumerable.EnumerableSorter1.Sort(TElement[] elements, Int32 count) at System.Linq.Enumerable.OrderedIterator1.Fill(TElement[] buffer, Span1 destination) at System.Linq.Enumerable.OrderedIterator1.ToList() at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source) at Volo.Docs.GitHub.Documents.Version.SemanticVersionHelper.OrderByDescending(List1 versions) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Domain.Shared\Volo\Docs\Documents\Version\SemanticVersionHelper.cs:line 25 at Volo.Docs.GitHub.Documents.GithubDocumentSource.GetVersionsAsync(Project project) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Domain\Volo\Docs\GitHub\Documents\GithubDocumentSource.cs:line 291 at Volo.Docs.Projects.ProjectAppService.GetVersionsAsync(Project project) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Projects\ProjectAppService.cs:line 80 at Volo.Abp.Caching.DistributedCache2.GetOrAddAsync(TCacheKey key, Func1 factory, Func1 optionsFactory, Nullable1 hideErrors, Boolean considerUow, CancellationToken token) in C:\GitHub\abp\framework\src\Volo.Abp.Caching\Volo\Abp\Caching\DistributedCache.cs:line 600 at Volo.Docs.Projects.ProjectAppService.GetVersionsAsync(String shortName) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Projects\ProjectAppService.cs:line 61 at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() in C:\GitHub\abp\framework\src\Volo.Abp.Castle.Core\Volo\Abp\Castle\DynamicProxy\CastleAbpMethodInvocationAdapterWithReturnValue.cs:line 24 at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation) in C:\GitHub\abp\framework\src\Volo.Abp.GlobalFeatures\Volo\Abp\GlobalFeatures\GlobalFeatureInterceptor.cs:line 25 at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) in C:\GitHub\abp\framework\src\Volo.Abp.Castle.Core\Volo\Abp\Castle\DynamicProxy\CastleAsyncAbpInterceptorAdapter.cs:line 29 at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() in C:\GitHub\abp\framework\src\Volo.Abp.Castle.Core\Volo\Abp\Castle\DynamicProxy\CastleAbpMethodInvocationAdapterWithReturnValue.cs:line 24 at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation) in C:\GitHub\abp\framework\src\Volo.Abp.Validation\Volo\Abp\Validation\ValidationInterceptor.cs:line 19 at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) in C:\GitHub\abp\framework\src\Volo.Abp.Castle.Core\Volo\Abp\Castle\DynamicProxy\CastleAsyncAbpInterceptorAdapter.cs:line 29 at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync() in C:\GitHub\abp\framework\src\Volo.Abp.Castle.Core\Volo\Abp\Castle\DynamicProxy\CastleAbpMethodInvocationAdapterWithReturnValue.cs:line 24 at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope) in C:\GitHub\abp\framework\src\Volo.Abp.Auditing\Volo\Abp\Auditing\AuditingInterceptor.cs:line 98 at Volo.Abp.Auditing.AuditingInterceptor.ProcessWithNewAuditingScopeAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, ICurrentUser currentUser, IAuditingManager auditingManager, IAuditingHelper auditingHelper, IUnitOfWorkManager unitOfWorkManager) in C:\GitHub\abp\framework\src\Volo.Abp.Auditing\Volo\Abp\Auditing\AuditingInterceptor.cs:line 130
- 'main.0.0' is not a valid version string. (Parameter 'value')
System.ArgumentException: 'main.0.0' is not a valid version string. (Parameter 'value')
at NuGet.Versioning.SemanticVersion.Parse(String value)
at Volo.Docs.GitHub.Documents.Version.SemanticVersionHelper.<>c.<OrderByDescending>b__2_0(VersionInfo v) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Domain.Shared\Volo\Docs\Documents\Version\SemanticVersionHelper.cs:line 25
at System.Linq.Enumerable.EnumerableSorter
22 Answer(s)
-
0
- Solution
- Why the error happens:
- VoloDocs orders versions using NuGet.SemanticVersion. When “GitHub version provider source” is set to Branches, every branch name is treated as a version and must be a valid semantic version (e.g., 1.0, 1.0.0, 2.1). Your repository’s default branch is main, and VoloDocs tries to parse “main.0.0” while sorting, which throws: 'main.0.0' is not a valid version string.
- Two ways to fix:
A) Recommended: Use Releases/Tags as versions
- In your project settings:
- GitHub root URL: https://github.com/<owner>/<repo>/tree/{version}/en
- Keep the literal {version} placeholder, do not hardcode a specific version.
- GitHub version provider source: Releases
- Latest version branch name: leave empty
- Version branch prefix: leave empty
- GitHub root URL: https://github.com/<owner>/<repo>/tree/{version}/en
- Create Git tags in your GitHub repo that are valid semantic versions, e.g.:
- v1.0 or 1.0 or 1.0.0
- Push the tags and create releases for them (optional but recommended).
- Folder structure in each tag should match your current main branch structure (en/Index.md, docs-nav.json, docs-params.json).
- Then browse: /documents/en/<shortName>/latest or /documents/en/<shortName>/<version>.
B) If you must use Branches as versions
- Rename or create branches whose names are valid SemVer values, for example:
- 1.0
- 1.0.0
- 2.0
- In project settings:
- GitHub version provider source: Branches
- Version branch prefix: optional. If you set a prefix like release/, make sure your branches are release/1.0, release/1.0.0, etc.
- Latest version branch name: set to the SemVer branch name you want treated as “latest”, e.g., 1.0 or 1.0.0. Do not set this to “main”.
- GitHub root URL should still contain {version}:
- https://github.com/<owner>/<repo>/tree/{version}/en
Additional checks
- Default document names:
- Default document name: Index
- Navigation document name: docs-nav.json
- Parameters document name: docs-params.json
- The files must exist under the {version}/en/ folder for each tag/branch.
- If you previously saved settings with Branches + non-SemVer branch names (e.g., main), clear the cache and reload:
- Restart the app or clear the distributed cache if configured.
Quick apply to your screenshots
- Change GitHub root URL to: https://github.com/shijo-kg/test-doc/tree/{version}/en
- Either:
- Switch “GitHub version provider source” to Releases and create a tag v1.0 (or 1.0.0), or
- Keep “Branches” but create a branch named 1.0 (or 1.0.0) and set “Latest version branch name” to 1.0 (or 1.0.0). Leave “main” out of the version configuration.
- Sources
- https://docs.abp.io/en/abp/latest/Modules/Docs
- https://github.com/abpframework/abp/tree/dev/modules/docs
- https://abp.io/docs/latest/apps/volo-docs
This response was generated by AI. If it didn’t solve your problem, feel free to post a new answer — our support team will jump in to help you soon.
-
0
-
0
After changing to Release exception changed, ` 2025-10-30 08:12:09.379 +04:00 [WRN] Response status code does not indicate success: 404 (Not Found).: https://raw.githubusercontent.com/shijo-kg/test-doc/main/en/en/index.md 2025-10-30 08:12:09.397 +04:00 [INF] AUDIT LOG: [403: GET ] /documents/en/test/latest
- UserName - UserId : -
- ClientIpAddress : ::1
- ExecutionDuration : 797
- Actions:
- Volo.Docs.Documents.DocumentAppService.GetDefaultAsync (795 ms.) {"input":{"projectId":"c3c57f83-c689-813d-8193-3a1d45649787","version":null,"languageCode":"en"}}
- Exceptions:
- Exception of type 'Volo.Docs.DocumentNotFoundException' was thrown.
Volo.Docs.DocumentNotFoundException: Exception of type 'Volo.Docs.DocumentNotFoundException' was thrown.
at Volo.Docs.Documents.DocumentAppService.GetSourceDocument(Project project, String documentName, String languageCode, String version, Document oldDocument) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 510
at Volo.Docs.Documents.DocumentAppService.GetDocumentAsync(String documentName, Project project, String languageCode, String version, Document oldDocument) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 422
at Volo.Docs.Documents.DocumentAppService.GetDocumentWithDetailsDtoAsync(Project project, String documentName, String languageCode, String version) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 385
at Volo.Docs.Documents.DocumentAppService.GetDefaultAsync(GetDefaultDocumentInput input) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 91
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue
1.ProceedAsync() at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation) in C:\GitHub\abp\framework\src\Volo.Abp.GlobalFeatures\Volo\Abp\GlobalFeatures\GlobalFeatureInterceptor.cs:line 25 at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) in C:\GitHub\abp\framework\src\Volo.Abp.Castle.Core\Volo\Abp\Castle\DynamicProxy\CastleAsyncAbpInterceptorAdapter.cs:line 29 at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation) in C:\GitHub\abp\framework\src\Volo.Abp.Validation\Volo\Abp\Validation\ValidationInterceptor.cs:line 19 at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) in C:\GitHub\abp\framework\src\Volo.Abp.Castle.Core\Volo\Abp\Castle\DynamicProxy\CastleAsyncAbpInterceptorAdapter.cs:line 29 at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync() at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope) in C:\GitHub\abp\framework\src\Volo.Abp.Auditing\Volo\Abp\Auditing\AuditingInterceptor.cs:line 98 at Volo.Abp.Auditing.AuditingInterceptor.ProcessWithNewAuditingScopeAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, ICurrentUser currentUser, IAuditingManager auditingManager, IAuditingHelper auditingHelper, IUnitOfWorkManager unitOfWorkManager) in C:\GitHub\abp\framework\src\Volo.Abp.Auditing\Volo\Abp\Auditing\AuditingInterceptor.cs:line 130
- Exception of type 'Volo.Docs.DocumentNotFoundException' was thrown.
Volo.Docs.DocumentNotFoundException: Exception of type 'Volo.Docs.DocumentNotFoundException' was thrown.
at Volo.Docs.Documents.DocumentAppService.GetSourceDocument(Project project, String documentName, String languageCode, String version, Document oldDocument) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 510
at Volo.Docs.Documents.DocumentAppService.GetDocumentAsync(String documentName, Project project, String languageCode, String version, Document oldDocument) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 422
at Volo.Docs.Documents.DocumentAppService.GetDocumentWithDetailsDtoAsync(Project project, String documentName, String languageCode, String version) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 385
at Volo.Docs.Documents.DocumentAppService.GetDefaultAsync(GetDefaultDocumentInput input) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 91
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue
2025-10-30 08:12:09.419 +04:00 [WRN] Exception of type 'Volo.Docs.DocumentNotFoundException' was thrown. 2025-10-30 08:12:09.424 +04:00 [INF] Executed handler method OnGetAsync, returned result Microsoft.AspNetCore.Mvc.RazorPages.PageResult. 2025-10-30 08:12:09.586 +04:00 [INF] Bundling __bundles/Basic.Global.587964C1436FDBEC809E4453EFD481BD.css (13 files)`
-
0
from Root Url I have removed /en now this is comming.
`2025-10-30 08:14:41.531 +04:00 [INF] Sending HTTP request GET https://raw.githubusercontent.com/shijo-kg/test-doc/main/en/Index.md 2025-10-30 08:14:41.794 +04:00 [INF] Received HTTP response headers after 259.2459ms - 200 2025-10-30 08:14:41.798 +04:00 [INF] End processing HTTP request after 269.0907ms - 200 2025-10-30 08:14:41.803 +04:00 [WRN] System.IndexOutOfRangeException: Index was outside the bounds of the array. at Volo.Docs.GitHub.Projects.ProjectGithubExtensions.GetGitHubInnerUrl(Project project, String languageCode, String documentName) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Domain\Volo\Docs\GitHub\Projects\ProjectGithubExtensions.cs:line 20 at Volo.Docs.GitHub.Documents.GithubDocumentSource.GetGitHubCommitsOrNull(Project project, String documentName, String languageCode, String version) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Domain\Volo\Docs\GitHub\Documents\GithubDocumentSource.cs:line 210 2025-10-30 08:14:41.808 +04:00 [WRN] Could not retrieved the last update time from Github. 2025-10-30 08:14:41.813 +04:00 [INF] Downloading content from Github (DownloadWebContentAsStringAsync): https://raw.githubusercontent.com/shijo-kg/test-doc/main/en/index.md 2025-10-30 08:14:41.816 +04:00 [INF] Start processing HTTP request GET https://raw.githubusercontent.com/shijo-kg/test-doc/main/en/index.md 2025-10-30 08:14:41.819 +04:00 [INF] Sending HTTP request GET https://raw.githubusercontent.com/shijo-kg/test-doc/main/en/index.md 2025-10-30 08:14:42.033 +04:00 [INF] Received HTTP response headers after 211.5565ms - 404 2025-10-30 08:14:42.037 +04:00 [INF] End processing HTTP request after 221.2275ms - 404 2025-10-30 08:14:42.041 +04:00 [WRN] Response status code does not indicate success: 404 (Not Found).: https://raw.githubusercontent.com/shijo-kg/test-doc/main/en/index.md 2025-10-30 08:14:42.045 +04:00 [INF] AUDIT LOG: [500: GET ] /documents/en/test/latest
- UserName - UserId : -
- ClientIpAddress : ::1
- ExecutionDuration : 545
- Actions:
- Volo.Docs.Documents.DocumentAppService.GetDefaultAsync (544 ms.) {"input":{"projectId":"c3c57f83-c689-813d-8193-3a1d45649787","version":null,"languageCode":"en"}}
- Exceptions:
- version can not be null, empty or white space! (Parameter 'version')
System.ArgumentException: version can not be null, empty or white space! (Parameter 'version')
at Volo.Docs.Documents.DocumentAppService.GetSourceDocument(Project project, String documentName, String languageCode, String version, Document oldDocument) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 510
at Volo.Docs.Documents.DocumentAppService.GetDocumentAsync(String documentName, Project project, String languageCode, String version, Document oldDocument) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 422
at Volo.Docs.Documents.DocumentAppService.GetDocumentWithDetailsDtoAsync(Project project, String documentName, String languageCode, String version) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 385
at Volo.Docs.Documents.DocumentAppService.GetDefaultAsync(GetDefaultDocumentInput input) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 91
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue
1.ProceedAsync() at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation) in C:\GitHub\abp\framework\src\Volo.Abp.GlobalFeatures\Volo\Abp\GlobalFeatures\GlobalFeatureInterceptor.cs:line 25 at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) in C:\GitHub\abp\framework\src\Volo.Abp.Castle.Core\Volo\Abp\Castle\DynamicProxy\CastleAsyncAbpInterceptorAdapter.cs:line 29 at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation) in C:\GitHub\abp\framework\src\Volo.Abp.Validation\Volo\Abp\Validation\ValidationInterceptor.cs:line 19 at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) in C:\GitHub\abp\framework\src\Volo.Abp.Castle.Core\Volo\Abp\Castle\DynamicProxy\CastleAsyncAbpInterceptorAdapter.cs:line 29 at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope) in C:\GitHub\abp\framework\src\Volo.Abp.Auditing\Volo\Abp\Auditing\AuditingInterceptor.cs:line 98 at Volo.Abp.Auditing.AuditingInterceptor.ProcessWithNewAuditingScopeAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, ICurrentUser currentUser, IAuditingManager auditingManager, IAuditingHelper auditingHelper, IUnitOfWorkManager unitOfWorkManager) in C:\GitHub\abp\framework\src\Volo.Abp.Auditing\Volo\Abp\Auditing\AuditingInterceptor.cs:line 130
- version can not be null, empty or white space! (Parameter 'version')
System.ArgumentException: version can not be null, empty or white space! (Parameter 'version')
at Volo.Docs.Documents.DocumentAppService.GetSourceDocument(Project project, String documentName, String languageCode, String version, Document oldDocument) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 510
at Volo.Docs.Documents.DocumentAppService.GetDocumentAsync(String documentName, Project project, String languageCode, String version, Document oldDocument) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 422
at Volo.Docs.Documents.DocumentAppService.GetDocumentWithDetailsDtoAsync(Project project, String documentName, String languageCode, String version) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 385
at Volo.Docs.Documents.DocumentAppService.GetDefaultAsync(GetDefaultDocumentInput input) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 91
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue
-
0
-
0
**Something wrong in the document path generation; ** 2025-10-30 08:22:48.849 +04:00 [WRN] Response status code does not indicate success: 404 (Not Found).: https://raw.githubusercontent.com/shijo-kg/test-doc/[version]/en/en/Index.md 2025-10-30 08:22:48.852 +04:00 [INF] Downloading content from Github (DownloadWebContentAsStringAsync): https://raw.githubusercontent.com/shijo-kg/test-doc/[version]/en/en/index.md 2025-10-30 08:22:48.857 +04:00 [INF] Start processing HTTP request GET https://raw.githubusercontent.com/shijo-kg/test-doc/[version]/en/en/index.md 2025-10-30 08:22:48.861 +04:00 [INF] Sending HTTP request GET https://raw.githubusercontent.com/shijo-kg/test-doc/[version]/en/en/index.md 2025-10-30 08:22:49.226 +04:00 [INF] Received HTTP response headers after 361.4004ms - 404 2025-10-30 08:22:49.228 +04:00 [INF] End processing HTTP request after 371.6325ms - 404 2025-10-30 08:22:49.233 +04:00 [WRN] Response status code does not indicate success: 404 (Not Found).: https://raw.githubusercontent.com/shijo-kg/test-doc/[version]/en/en/index.md 2025-10-30 08:22:49.237 +04:00 [INF] AUDIT LOG: [403: GET ] /documents/en/test/latest
- UserName - UserId : -
- ClientIpAddress : ::1
- ExecutionDuration : 792
- Actions:
- Volo.Docs.Documents.DocumentAppService.GetDefaultAsync (792 ms.) {"input":{"projectId":"c3c57f83-c689-813d-8193-3a1d45649787","version":null,"languageCode":"en"}}
- Exceptions:
- Exception of type 'Volo.Docs.DocumentNotFoundException' was thrown. Volo.Docs.DocumentNotFoundException: Exception of type 'Volo.Docs.DocumentNotFoundException' was thrown. at Volo.Docs.Documents.DocumentAppService.GetSourceDocument(Project project, String documentName, String languageCode, String version, Document oldDocument) in C:\GitHub\abp\modules\docs\src\Volo.Docs.Application\Volo\Docs\Documents\DocumentAppService.cs:line 510
-
0
-
0
Hi, Could you explain what was my mistake ?
-
0
-
0
-
0
- Solution
Cause
- The 404 errors for /libs/... (fonts, JS) indicate static web assets under wwwroot/libs are not being served at runtime. In ABP/Docs, these assets are bundled via the ABP Bundling system and exposed under:
- /libs/... for third-party packages
- /_content/{AssemblyName}/... for embedded module assets
- /__bundles/... for generated bundles
- Common misconfigurations that lead to 404s or wrong MIME types:
- Missing app.UseStaticFiles() (or it is placed after endpoint routing).
- Missing app.UseAbpStaticFiles(); when modules serve embedded static files.
- Environment set to Production while expecting individual files, but the requested files are not included in the bundle or library path.
- Requesting wrong paths or case-sensitive filenames (Index.md vs index.md differs on GitHub; similarly for local files).
- Reverse proxy/base-path issues breaking static file URLs.
- The 404 errors for /libs/... (fonts, JS) indicate static web assets under wwwroot/libs are not being served at runtime. In ABP/Docs, these assets are bundled via the ABP Bundling system and exposed under:
Fix
- Ensure middleware order is correct in your Web module’s OnApplicationInitialization:
public override void OnApplicationInitialization(ApplicationInitializationContext context) { var app = context.GetApplicationBuilder(); var env = context.GetEnvironment(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseAbpRequestLocalization(); app.UseStaticFiles(); // 1: physical wwwroot app.UseAbpStaticFiles(); // 2: embedded static files from ABP modules app.UseRouting(); app.UseAuthentication(); app.UseJwtTokenMiddleware(); app.UseAbpClaimsMap(); app.UseAuthorization(); app.UseAuditing(); app.UseConfiguredEndpoints(); }- app.UseStaticFiles() and app.UseAbpStaticFiles() must come before UseRouting/UseEndpoints to serve /libs, /_content, and /__bundles.
- Verify ABP Bundling includes required libraries
- In your Theme or Web module contributor, confirm these are referenced:
- Font Awesome (matching the path shown in network errors): /libs/@fortawesome/fontawesome-free/webfonts/...
- Select2 i18n and Moment locales if used by the page.
- Example contributor snippet:
public class DocsThemeGlobalContributor : BundleContributor { public override void ConfigureBundle(BundleConfigurationContext context) { var style = context.Files; // styles style.AddIfNotContains("/libs/@fortawesome/fontawesome-free/css/all.min.css"); var script = context.Files; // scripts script.AddIfNotContains("/libs/jquery/jquery.js"); script.AddIfNotContains("/libs/select2/js/select2.full.min.js"); script.AddIfNotContains("/libs/moment/moment.js"); // add any i18n files you actually use: // script.AddIfNotContains("/libs/select2/js/i18n/en.js"); } }- If your build points to different versions/paths, align URLs accordingly. Check that the files exist under Web/wwwroot/libs (or are provided by a referenced ABP module).
- Confirm static asset paths
- Open https://localhost:5001/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 directly. If 404, the path is wrong or the middleware isn’t serving.
- Ensure the files exist at:
- Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/...
- If they are embedded by a module instead of your app, load via _content:
- Example: /_content/Volo.Docs/fontawesome/... depending on the module that embeds them.
- Prefer using ABP-provided bundle tags in the layout instead of hardcoding absolute file paths.
- Avoid wrong MIME type “text/html”
- This means the URL returns an HTML page (e.g., error or redirect) while the browser expects JS/CSS/WOFF. Fix the URL or base path so the file is directly served.
- If you use a virtual directory or reverse proxy, set appsettings.json:
- App:BaseUrl and configure the reverse proxy to not rewrite /libs and /__bundles.
- Clear caches and rebuild
- Stop the app, delete bin/obj, rebuild. If you are using the dynamic bundling in production, ensure minified bundles are produced, or set ASPNETCORE_ENVIRONMENT=Development to see individual files while troubleshooting.
- About the small square icons in the page
That’s Font Awesome not loading. Once /libs/@fortawesome/fontawesome-free/webfonts/... are served correctly (steps 1–3), the icons will render.
Quick checklist for your screenshots
- You have the font files under Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts; good.
- Add/verify:
- app.UseStaticFiles(); app.UseAbpStaticFiles(); order as above.
- Include “/libs/@fortawesome/fontawesome-free/css/all.min.css” in the global style bundle used by the Documents page layout.
- Ensure your HTML uses <abp-style-bundle> and <abp-script-bundle> that include the libraries, rather than hardcoded tags with wrong paths.
- Sources
- https://docs.abp.io/en/abp/latest/Modules/Docs
- https://abp.io/docs/latest/apps/volo-docs
- https://github.com/abpframework/abp/tree/dev/modules/docs
This response was generated by AI. If it didn’t solve your problem, feel free to post a new answer — our support team will jump in to help you soon.
-
0
hi
Are you running it with
dotnet runor in IIS? -
0
-
0
hi
Can you share your test project?
liming.ma@volosoft.com
-
0
[maliming] said: hi
Can you share your test project?
liming.ma@volosoft.com
https://we.tl/t-xxx
-
0
ok, I will check your project.
-
0
-
0
-
0
hi
Can you use the source code to test it?
https://github.com/abpframework/abp/tree/dev/modules/docs/app/VoloDocs.Web https://github.com/abpframework/abp/tree/dev/modules/docs/
Thanks.
-
0
-
0
-
0
[maliming] said: hi
Can you use the source code to test it?
https://github.com/abpframework/abp/tree/dev/modules/docs/app/VoloDocs.Web https://github.com/abpframework/abp/tree/dev/modules/docs/
Thanks.
Hi I managed to run this project and its perfectly working except one issue, the highligted button is pointing to locahost:44303


















