[ 
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)

Reply via email to