find a location for property in a new city

Friday 6 May 2011

MVC3 deploy - Could not load file or assembly 'System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies

Whilst deploying my newly upgraded ASP.NET MVC 3 web application to the production environment I started receiving a FileNotFoundException with the error message "Could not load file or assembly 'System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified." I have encountered this before so I know it is about bin-deploying that assembly. But where is the System.Web.WebPages.Razor assembly?

Since you have installed ASP.NET MVC 3 on your development machine you have all these MVC 3 assemblies installed in your GAC. Your production machine does not!

So you need to find this file and make it bin deployable however this cheeky assembly isn't in you solution so how can you do that? Well... add it. Go to Add Reference on your root web project (e.g. Web.csproj) and find System.Web.WebPages.Razor and add.

Now right click this assembly in your references directory and click properties.

Now you can make it bin deployable by setting Copy Local to true like so:

Note this is how to deploy the System.Web.WebPages.Razor assembly withe your ASP.NET MVC 3 web application. To deploy a typical setup of an ASP.NET MVC 3 app you will need to do the same for all of the following assemblies:
  • System.Web.Mvc
  • System.Web.Helpers
  • System.Web.Razor
  • System.Web.WebPages
  • System.Web.WebPages.Deployment
  • System.Web.WebPages.Razor as detailed above
  • Microsoft.Web.Infrastructure this will also need a reference added as above
  • WebMatrix.Data this also needs the reference

Of course you only need to add the reference to these assemblies if they are not already there - in most cases it will be. This was mainly a blog post for the slightly more complicated System.Web.WebPages.Razor.dll

Update

There is an easier way to do this if you are using Visual Studio 2010 Service Pack 1 and using Web Deploy as your publish action when publishing. You can add deployable dependencies to your ASP.NET MVC project that will choose the necessary assemblies for you. Even easier!

Follow britishdev on Twitter

36 comments:

  1. Thanks for this. Saved my team lots of time.

    ReplyDelete
  2. Thanks! You got us fixed right up!!!!

    ReplyDelete
  3. Thanks for this. Saved me lots of time!! I mean it!

    ReplyDelete
  4. Wowwww... Perfect.. After 2 days reading heaps of blogs finally your blog solved my problem!! ;)

    ReplyDelete
  5. You forget about "NuGet.Core" (you may notice in your other post http://www.britishdeveloper.co.uk/2011/06/adding-mvc-dependencies-to-project-for.html - screenshot with this reference)
    Well, at least Azure force me to use it :)

    Thank you very much btw

    ReplyDelete
  6. What worked for me was to right-click on the project and select Add Deployable Dependancies

    ReplyDelete
    Replies
    1. thank you for your advise, it helped me!

      Delete
  7. Yes you can and it is much easier and works well (if you are publishing using Web Deploy). I wrote this post before SP1 had come out though (hence the update at the end of the post).

    ReplyDelete
  8. I,m sorry, i.m a newbie in c# mvc3, i want to ask u, how to deploy my app in IIS7, what first I should do and What next? i need ur help, cz its urgently need...

    ReplyDelete
  9. If it is so urgent, why is 'a newbie' in charge? Anyway, sorry I haven't got the time to train you to do the job you don't deserve but I have found a link that should help: http://www.lmgtfy.com/?q=deploy+mvc3+to+iis7

    ReplyDelete
  10. thanks, helpful

    ReplyDelete
  11. Thank you, very helpful

    ReplyDelete
  12. Thanks Man! It help me to publish an application in a sub-domain.

    ReplyDelete
  13. Motifz Designer Lawn. 1, 2 & 3 Piece Unstitched Premium Embroidered Lawn 2019, Premium embroidered Lawn, Premium lawn, Premium lawn 2019, Motifz, Premium lawn in Pakistan, Summer collection. Shipping worldwide. Stitching option available.

    ReplyDelete
  14. I often use online converters to convert files (e.g. doc to pdf, tiff to jpg, etc.). The best in my ranking - https://anyconv.com/ AnyConv

    ReplyDelete
  15. I think about it is most required for making more on this get engaged safety razor

    ReplyDelete
  16. Awesome Insights Articles about issues and you saved me a hour. Here My question is about the Tech News Tamil Portal website hosting. I Running News Portal website at present I using Host raja hosting, shall I change to CDN server?

    ReplyDelete
  17. Buy microwave ovens online from Al-Fatah at best prices. Get free shipping.

    ReplyDelete
  18. Buy lounge wear for mens from Dshred at best prices delivered at your doorstep. Get free shipping

    ReplyDelete
  19. Buy gym trousers for men online from Dshred at best prices delivered at your doorstep. Get free shipping.vvv

    ReplyDelete
  20. Buy men accessories online from Al-Fatah at best prices delivered at your doorstep. Get free shipping

    ReplyDelete
  21. Much appreciate the blog! Great site! It looks extremely good! Good job!| you are best man…! Yuri Shafranik
    I am looking for some good blog sites for studying. I was searching over search engines and found your blog site
    Yuri Shafranik
    I am glad that I found your blog. It is very informative and you put your maximum into it.
    Yuri Shafranik
    I found your website via Google whilst searching for a similar subject, your website came up, it looks good. I’ve bookmarked it in my google bookmarks.
    Yuri Shafranik
    Hey there, You have done a fantastic job. I’ll definitely dig it and personally suggest it to my friends. I am confident they will be benefited from this web site
    Yuri Shafranik
    It is my pleasure to say something about the author. He did deep a awesome job
    Yuri Shafranik
    I’m usually blogging and I actually appreciate your content. The article has genuinely peaks my interest. I’m going to bookmark your web page and maintain checking for new details. I am looking for some good blog sites for studying. I was searching over search engines and found your blog site. Well, I like your high-quality blog site design plus your posting abilities. Keep doing it.
    Yuri Shafranik
    Great post. Articles that have meaningful and insightful comments are more enjoyable, at least to me. It’s interesting to read what other people thought and how it relates to them or their clients, as their perspective could possibly help you in the future.
    Yuri Shafranik
    I think this is one of the most significant pieces of information for me. And I’m glad read your article. Thank you for sharing!
    Yuri Shafranik

    ReplyDelete
  22. Father Rutler has made documentary films in the United States and England, and contributes to numerous scholarly and popular journals. As a member of the U.S. Squash Racquets Association, he’s published one book on the sport, in addition to his religious works. (less)
    Father george Rutler

    ReplyDelete
  23. I love your creativity. Are you also searching for nursing writing services? we are the best solution for you. We are best known for delivering nursing writing services to students without having to break the bank.

    ReplyDelete

  24. Thanks for the spins ... really worakble spins
    check also
    coin master free spins links

    ReplyDelete
  25. Hi dear,

    I want to thank you for publishing an amazing blog. This post is very informative. I really enjoyed reading it. I am waiting for your next post.

    Thank You

    W : dicom server software

    ReplyDelete