I have a namespace written in a C# solution that outputs a DLL. This DLL is an External Dependency for a C++ project in another solution. Previously I was using VS2013 but I've since began migrating to VS2017, and I'm getting
C2871 'Foo': a namespace with this name does not exist.
Here's a basic interpretation of my C++ code. "ExUtil" is a class within the FooExceptionUtil namespace.
#include "FooExUtil.hh"
using namespace Foo::ExceptionUtil;
extern "C" {
void FooExUtilWriteMiniDump (int Option)
{
ExUtil::WriteMiniDump ((ExUtil::Option) Option);
}
}
My C# namespace looks like this:
using System;
using System.Diagnostics;
using System.IO;
using System.Runtime.InteropServices;
namespace Foo.ExceptionUtil
{
static public class ExUtil
{
//Option enum and WriteMiniDump routine defined here
}
}
My C# solution outputs a DLL that is externally referenced by my C++ solution. And like I said, I had no issues with this using VS2013. Did VS2017 change the way external references work? I can view the namespace in the object browser of the C++ solution, and I can see all the way down to the individual Option enum and WriteMiniDump routines even. By all means, the namespace is defined.
-Thanks