The Author Online Book Forums are Moving

The Author Online Book Forums will soon redirect to Manning's liveBook and liveVideo. All book forum content will migrate to liveBook's discussion forum and all video forum content will migrate to liveVideo. Log in to liveBook or liveVideo with your Manning credentials to join the discussion!

Thank you for your engagement in the AoF over the years! We look forward to offering you a more enhanced forum experience.

comecme (1) [Avatar] Offline
Anyone got the source code working on a default install of Visual Studio 2017?

I have Visual Studio 2017 installed, currently version 15.8.6.
I run into several problems when trying to use the source code for this book.

  • MVC version

  • SQL Express versus LocalDB

  • Test Explorer not able to run unit tests

  • Solutions like CommerceWeb contain MVC projects that won't load because it's an old version of MVC.
    There is some info on the web about migrating to newer versions of MVC, but I did not yet get it to work.

    Did get it to load however, but then I got a message about the project using SQL Express where my machine only has LocalDB.

    In my opinion, the publisher should provide an updated version of the example source code, as long as the book is being sold.

    Another problem I ran into is in the HelloDI solution's unit tests.

    VS2017's Test Explorer does find the unit test in the solution, but when I try to run them, the output window shows:

    [9-10-2018 20:00:20 Informational] Test project HelloDIUnitTest does not reference any .NET NuGet adapter. Test discovery or execution might not work for this project.
    It's recommended to reference NuGet test adapters in each test project in the solution.

    This seems to be related to a breaking change in VS2017 15.8.0, requiring a Test Adapter. But trying to install NuGet-package MSTest.TestAdapter won't work, as it does not support .NET Framework 4.0. It needs at least version 4.5. Update the target version of the Unit Test project fixes that, so now I can install the MSTest.TestAdapter.
    Now, however, the version of Moq that's referenced only supports versions 3.5 and 4.0, so we have to upgrade the Moq NuGet packag (currently version 4.10.0).

    After all that, the project builds just fine, but trying to run all tests from Test Explorer now leads to another message:
    [9-10-2018 20:09:57 Warning] No test is available in C:\Projects\DependencyInjectionInDotNet\HelloDI\HelloDIUnitTest\bin\Debug\Ploeh.Samples.HelloDI.UnitTest.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.

    Maybe I did not need to install MSTest.TestAdapter but a test adapter for xunit? Does one exist? I don't know.

    I just want to learn about Dependency Injection and use the sample code. I do not want to investigate update an old VS2010 solution.