Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ServiceLocatorImplBase.cs not found when using StructureMap

I get the following error when debugging (F5) my code in Visual Studio (2017):

ServiceLocatorImplBase.cs not found

Reading the detail, it seems to be looking for a file on my computer in the following place:

'c:\Home\Chris\Projects\CommonServiceLocator\main\Microsoft.Practices.ServiceLocation\ServiceLocatorImplBase.cs'

I don't have a directory 'c:\Home\Chris...' and I have no idea why it would be looking there.

How can I fix this?

like image 922
Alex P Avatar asked Dec 11 '25 04:12

Alex P


1 Answers

(Answering own question)

I spent days looking for an answer.

I noticed that I started getting the issue after I had installed StructureMap. I managed to solve it with the help of this explanation.

In short, I had to install CommonServiceLocator v2.0.1. using NuGet. Once I did that I then had to update this file:

StructureMapDependencyScope.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http.Dependencies;
//using Microsoft.Practices.ServiceLocation 
using StructureMap;
using CommonServiceLocator;                  

namespace UI.DependencyResolution
{
    /// <summary>
    /// The structure map dependency scope.
    /// </summary>
    public class StructureMapDependencyScope : ServiceLocatorImplBase, IDependencyScope
    {

I added a reference to CommonServiceLocator and removed the reference to Microsoft.Practices.ServiceLocation.

This removed the hard dependency on c:\Home\Chris....

Hope that helps others.

like image 138
Alex P Avatar answered Dec 14 '25 06:12

Alex P