Skip to content

DirectoryNotFoundException when running on UNC path #140

Open
@mitbra

Description

@mitbra

I've encountered a strange problem with running my application on a shared network drive where the application makes use of clrzmq.

Context

clrzmq pre-release 3.0.0-rc1 -- from NuGet.
libzmq version 3.2.2-rc2 bundled with clrzmq.
Windows 7 Professional 64-bit SP1.
.NET Framework 4.5
VS2012 WDExpress

Problem

The following code snippet draws out my exception:

namespace ConsoleApplication2
{
    using System;
    using ZeroMQ;

    class Program
    {
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.UnhandledException += 
                Unhandled;

            var ctx = ZmqContext.Create(); // This is where it occurs
            Console.ReadKey();
        }

        static void Unhandled(
            object sender, UnhandledExceptionEventArgs e)
        {
            Console.WriteLine(e.ExceptionObject.ToString());
            Console.ReadKey();
        }
    }
}

To make it happen you will need the application to be on a UNC path. In my case it was \\myserver\subdirectory . If I attempt to run the executable like this I get the following exception.

\\myserver\subdirectory>.\bin\Testing\ConsoleApplication2.exe
System.TypeInitializationException: The type initializer for 'ZeroMQ.Interop.LibZmq' threw an exception. ---> System.IO.DirectoryNotFoundException: Could not find...

The exception message claims to be looking in a path that is not valid: \\myserver\subdirectory\subdirectory\bin\Testing\libzmq-x86-3.0.0.0.dll. Note the doubling of subdirectory.

The application works when using a drive letter -- for example: F:\bin\Testing.

Is this to do with the packaging of the binaries or something completely unrelated to this project?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions