[
https://issues.apache.org/jira/browse/AMQNET-745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17503712#comment-17503712
]
Martin Sarosi commented on AMQNET-745:
--------------------------------------
We have some recommendations for fixing common scenarios:
* To access files next to the executable, use
[AppContext.BaseDirectory|https://docs.microsoft.com/en-us/dotnet/api/system.appcontext.basedirectory#system-appcontext-basedirectory].
* To find the file name of the executable, use the first element of
[Environment.GetCommandLineArgs()|https://docs.microsoft.com/en-us/dotnet/api/system.environment.getcommandlineargs#system-environment-getcommandlineargs],
or starting with .NET 6 use the file name from
[ProcessPath|https://docs.microsoft.com/en-us/dotnet/api/system.environment.processpath#system-environment-processpath].
* To avoid shipping loose files entirely, consider using [embedded
resources|https://docs.microsoft.com/en-us/dotnet/core/extensions/create-resource-files].
These are recommendations from Microsoft
> Apache.NMS has an exception for application launched in single file mode
> ------------------------------------------------------------------------
>
> Key: AMQNET-745
> URL: https://issues.apache.org/jira/browse/AMQNET-745
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ, NMS
> Affects Versions: OpenWire-1.8.0
> Reporter: Iuliia Fatkullina
> Priority: Critical
> Time Spent: 40m
> Remaining Estimate: 0h
>
> Apache.NMS library version 1.8.0 and higher has an exception,
> when trying to instantiate the NMSConnectionFactory class,
> if the application is launched in single file mode.
> An example of an exception can be seen when using Apache.NMS.ActiveMQ
> [https://github.com/i7nfinity/apache-nms-singlefile-error]
> Need to fix GetConfigSearchPaths method because
> Path.GetDirectoryName(executingAssembly.Location) returns null in the file
> [https://github.com/apache/activemq-nms-api/blob/main/src/nms-api/NMSConnectionFactory.cs]
> You can read more about the problem here
> [https://docs.microsoft.com/en-us/dotnet/core/deploying/single-file]
> {code:java}
> Could not create the IConnectionFactory implementation: Value cannot be null.
> (Parameter 'path1')
> at Apache.NMS.NMSConnectionFactory.CreateConnectionFactory(Uri
> uriProvider, Object[] constructorParams)
> at Apache.NMS.NMSConnectionFactory..ctor(Uri uriProvider, Object[]
> constructorParams)
> at Apache.NMS.NMSConnectionFactory..ctor(String providerURI, Object[]
> constructorParams)
> at ApacheNmsSingleAppError.Program.Main()
> {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)