programming tools 2012

Those are the tools that I haved worked with in my previous year.
If you want to know how to utilize them, just ask me ;-).

All tools utilities

database

source code

framework

testing

Visual studio

firefox

chrome

azure

kinect

javascript

IDNameTagDescriptionUrl
(LocalDB) for sql server 2012programming tool;databasefinally, a deploy fast database http://www.microsoft.com/web/platform/database.aspx
.tt filesprogramming toolprogrammer best fried to generate code from database
7-ZiputilitiesCan handle archive files (zip, rar, iso and many others)http://www.7-zip.org/
all in one gesturesfirefox addonsclose - open pages fasthttp://marc.boullet.pagesperso-orange.fr/ext/extensions-en.html
AutoFixtureframework; dataauto generating datahttp://autofixture.codeplex.com/
AutoMapperprogramming toolmapping from database models to ViewModels - to preserve database independencehttps://github.com/AutoMapper/AutoMapper
azure providersazure toolsazure storage data accesshttp://code.msdn.microsoft.com/windowsazure/Windows-Azure-ASPNET-03d5dc14
azure storage explorerazure toolsazure acces demohttp://azurestorageexplorer.codeplex.com/
chrome developer toolschrome addondebugging js code, see html, modifying
CleanProjectutilities; visual studiocleans bin and zip a projecthttp://wf.codeplex.com/releases/view/70595
codeplexprogramming tool;source codesource code version system;just onlinehttp://www.codeplex.com/
Coding4Fun Kinect Toolkitkinect toolsadditional helper for kinecthttp://c4fkinect.codeplex.com/
cvsprogramming tool;source codesource code version system;could be installed locallyhttp://www.nongnu.org/cvs/
datatablesframework;javascripttables on steroidshttp://www.datatables.net/
dosboxutilities;dosrunning old programshttp://www.dosbox.com/
Ef profilerdatabaseInstrumenting entity framework commands and seeing problemshttp://www.hibernatingrhinos.com/products/efprof
ef rebinderprogramming toolcomposing expressionshttp://blogs.msdn.com/b/meek/archive/2008/05/02/linq-to-entities-combining-predicates.aspx
entity framework 4.xframework;databasedatabase handling POCOhttp://msdn.microsoft.com/en-us/data/ef.aspx
fiddlerprogramming toolintercepting http requestshttp://www.fiddler2.com/fiddler2/
file zillautilities;ftpupload sites and utilitieshttp://filezilla-project.org/
FileHelpersframework;readerRead in various file formats - csv, etchttp://filehelpers.sourceforge.net/
Firefox addonsprogramming tool; addonsA collection of firefox addonshttps://addons.mozilla.org/en-US/firefox/collections/ignatandrei/ignatandrei/
forecastfox weatherfirefox addonsweatherhttps://addons.mozilla.org/en-US/firefox/addon/forecastfox-weather/?src=collection&collection_id=32a82248-7a5b-321b-0b2b-5efe80a10730
foxit readerutilitiespdf fast readerhttp://www.foxitsoftware.com/Secure_PDF_Reader/
free commanderutilitiesfile manager - 2 panelshttp://www.freecommander.com/
ghost docaddon visual studiogenerating commentshttp://visualstudiogallery.msdn.microsoft.com/46A20578-F0D5-4B1E-B55D-F001A6345748
githubprogramming tool;source codesource code version system;just onlinehttps://github.com/
github for windowsprogramming tool;accesing git fasthttp://windows.github.com/
google chromeutilities;browserhtml viewer ;-)http://www.google.com/intl/ro/chrome/browser/
html tidychrome addonverify htmlhttps://chrome.google.com/webstore/detail/html-tidy-browser-extensi/gljdonhfjnfdklljmfaabfpjlonflfnm
html validatorfirefox addonsvalidate html corectness( first step in design)https://addons.mozilla.org/en-US/firefox/addon/html-validator/?src=collection&collection_id=32a82248-7a5b-321b-0b2b-5efe80a10730
HtmlAgilityPackframework;htmlHtml request as XMLhttp://htmlagilitypack.codeplex.com/
ieutilities;browserhtml viewer ;-)
ie developer toosie addondebugging js code, see html, modifying
IIS 7programming tooldeveloping websites on local - make same as for deployment on serverWindows 7
IIS SEO Toolkitprogramming tool;iisseo done fasthttp://www.iis.net/downloads/microsoft/search-engine-optimization-toolkit
imacros for firefoxfirefox addonsautomate testinghttps://addons.mozilla.org/en-US/firefox/addon/imacros-for-firefox/?src=collection&collection_id=32a82248-7a5b-321b-0b2b-5efe80a10730
Internetutilities;programming toolprogrammer best fried to search for help; blog posts; knowledge sharing
itextsharpframework;pdfmaking pdf fileshttp://sourceforge.net/projects/itextsharp/
javascript date formatjavascriptdate time formathttp://blog.stevenlevithan.com/archives/date-time-format
Jenkinsprogramming tool;continous integrationautomatically run testshttp://jenkins-ci.org/
jqueryframework;javascriptjavascript on steroidshttp://jquery.com/
jquery alpha numericframework;javascriptalpha numeric for textboxhttps://github.com/johnantoni/jquery.alphanumeric
jquery numericframework;javascriptnumeric for textboxhttps://github.com/SamWM/jQuery-Plugins/tree/master/numeric/
jquery uiframework;javascripttab control;dialog;autocomplete;date pickerhttp://jqueryui.com/
jquery watermarkframework;javascriptwatermark for textboxeshttps://github.com/sagivo/jQuery-Watermark
json2framework;javascriptfor old iehttps://github.com/douglascrockford/JSON-js
kinect contribkinect tools;visual studiovisual studio template for kinecthttp://kinectcontrib.codeplex.com/
kinect sdkkinect toolskinect sdk with demohttp://www.microsoft.com/en-us/kinectforwindows/develop/overview.aspx
kinect toolboxkinect toolsdetection of gestureshttp://kinecttoolbox.codeplex.com/
knockoutframework;javascripttemplating on javascripthttp://knockoutjs.com/
leech blockfirefox addonsproductivity - do not look at internet sites( facebook)https://addons.mozilla.org/en-US/firefox/addon/leechblock/?src=collection&collection_id=cdc80549-8e05-e4fc-8e90-5f3d977492b8
log4netframework;logginghelp to log various information; does not been imporved from some timehttp://logging.apache.org/log4net/
lumisoftframework;emailemail readerhttp://www.codeproject.com/Articles/16423/LumiSoft-MailServer
magic diskutilitiesmounting isohttp://www.magiciso.com/tutorials/miso-magicdisc-overview.htm
measure itfirefox addonsfind length in the browserhttps://addons.mozilla.org/en-US/firefox/addon/measureit/?src=collection&collection_id=32a82248-7a5b-321b-0b2b-5efe80a10730
measure itchrome addonfind length in the browserhttps://chrome.google.com/webstore/detail/measureit/aonjhmdcgbgikgjapjckfkefpphjpgma
Microsoft Visual Studio Proffesional 2010 + 2012( +Express)IDEFavorite programming toolhttp://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products
Moqframework;mockingmocking tool ; testinghttp://code.google.com/p/moq/
morning coffeefirefox addonsload sites on clickhttps://addons.mozilla.org/en-US/firefox/addon/morning-coffee/?src=collection&collection_id=32a82248-7a5b-321b-0b2b-5efe80a10730
msbuildprogramming toolproviding actions to deploy autmoatically and many others
msbuildtaskprogramming tool;buildall kind of task run after buildhttp://msbuildtasks.tigris.org/
mvc3 + mvc4framework;websiteFavorite developping websites frameworkhttp://www.asp.net/mvc
nlogframework;logginghelp to log various information; does not been imporved from some timehttp://nlog.codeplex.com/
notepad ++utilities;programming tooleditorhttp://notepad-plus-plus.org/
nugetaddon visual studioAll kind of frameworks for vshttp://nuget.codeplex.com/
OfficeOpenXMLPart4reference; officeMarkupLanguageReference  for Office XML.(Excel, word)http://msdn.microsoft.com/en-us/office/bb265236.aspx
page speed insightchrome addonmeasure web site performancehttps://developers.google.com/speed/docs/insights/using_chrome
paint.netutilities;imagehttp://www.getpaint.net/
PowerCommandsaddon visual studiotransform tt templates per projecthttp://visualstudiogallery.msdn.microsoft.com/e5f41ad9-4edc-4912-bca3-91147db95b99
productivity power toolsaddon visual studiocommand prompt, may othershttp://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef
psrprogramming tool;helpgenerating helpWindows 7
RazorframeworkMVC simple write mixed code server /html
razor code generatormvc;addon visual studioput MVC views in a dllhttp://blog.davidebbo.com/2011/06/precompile-your-mvc-views-using.html
Regulator and Regulazyhelpersregular expression helpershttp://osherove.com/tools
resolution testchrome addontest in broser for different resolutionshttps://chrome.google.com/webstore/detail/resolution-test/idhfcdbheobinplaamokffboaccidbal
reverse equalityaddon visual studioreversing data boundhttp://visualstudiogallery.msdn.microsoft.com/a70ec2bf-8787-4da1-9b62-0f3a3f92758c
Save_playlist_in_order_to_mp3_player_V3_2utilities;winamp addonsave playlisthttp://www.winamp.com/plugin/save-pl...ayer-v4/221680
select2javascriptdropdown list on steroids( ajax infinite completing…)https://github.com/ivaynberg/select2
seleniumfast testing htmltesting html easyhttp://seleniumhq.org/
send to kindlechrome addonread later various pageshttps://chrome.google.com/webstore/detail/send-to-kindle-for-google/cgdjpilhipecahhcilnafpblkieebhea
skypeutilities;communicationvoice and video sharinghttp://www.skype.com/
smtp4devframework;smtplocal email server;helps seeing messages;http://smtp4dev.codeplex.com/
Sql CE 4.0programming tool;databasefinally, a deploy fast database http://www.microsoft.com/en-us/download/details.aspx?id=17876
sql search from RedGatesql server manager addonsearch text in columns names and stored proc contenthttp://www.red-gate.com/products/sql-development/sql-search/
sql serverprogramming tool;databaseExpress version free; databasehttp://www.microsoft.com/web/platform/database.aspx
sql server managerutilities;databaseExpress version free; database management
string templateframeworkgenerating codes from data and visualization; razor avant la letter; coulkd generate excel XMLhttp://www.stringtemplate.org/download/
structure mapprogramming tooldependency injection - code for testinghttp://docs.structuremap.net/
svnprogramming tool;source codesource code version system;could be installed locallyhttp://subversion.apache.org/
sysinternalshttp://technet.microsoft.com/en-us/sysinternals/default.aspxprocess explorer;blue screen;http://technet.microsoft.com/en-US/sysinternals
T4MVCprogramming tool;mvcgenerating MVC nameshttps://github.com/AutoFixture/AutoFixture
table pressblogthis post was made with table press( and some modifs)http://tablepress.org/
tfsprogramming tool;source codesource code version system;could be installed locally
tfs power toolsprogramming tool; source codeintegration with explorerhttp://visualstudiogallery.msdn.microsoft.com/b1ef7eb2-e084-4cb8-9bc7-06c3bad9148f
tiny mceframework;javascripthtml editorhttp://www.tinymce.com/
tortoise svnprogramming tool;source codeintegration with explorerhttp://tortoisesvn.tigris.org/
TroyGoode-PagedListframeworkMVC provider for simple paginghttps://github.com/TroyGoode/PagedList
trx2htmlutilities; visual studiotest results to htmlhttp://trx2html.codeplex.com/
vlc media playerutilitiesvideo playerhttp://www.videolan.org/vlc/index.html
vs2010 testgenerating data for .load testgenerating code for test ; could modify; database generated id's
web developerfirefox addonsinvestigate site html + css + js + …https://addons.mozilla.org/en-US/firefox/addon/web-developer/?src=collection&collection_id=cdc80549-8e05-e4fc-8e90-5f3d977492b8
Web Essentialsaddon visual studioJIT debugging for HTML - no refresh requiredhttp://visualstudiogallery.msdn.microsoft.com/07d54d12-7133-4e15-becb-6f451ea3bea6
winamputilitiesmusic playerhttp://www.winamp.com/media-player/ro
windows live writerutilities;bloggingblog made easy from desktophttp://www.microsoft.com/ro-ro/download/details.aspx?id=8621
winmergeprogramming tooldifference files /folders ( versions from source code)http://winmerge.org/
wordpressblogthis bloghttp://wordpress.com/
xunitframework;testingtesting programs; VS independenthttp://xunit.codeplex.com/
yahoo messengerutilities; communicationvoice and video sharinghttp://messenger.yahoo.com/
yahoo slowfirefox addonsmeasure web site performancehttps://addons.mozilla.org/en-US/firefox/addon/yslow/?src=collection&collection_id=32a82248-7a5b-321b-0b2b-5efe80a10730
yahoo slowchrome addonmeasure web site performancehttps://chrome.google.com/webstore/detail/yslow/ninejjcohidippngpapiilnmkgllmakh
zip sharpframework;zipmaking zip fileshttp://www.icsharpcode.net/opensource/sharpziplib/

You can download as pdf my 2012 tools
If you want more explanations about those tools, I am ready to help you. Please contact me at ignatandrei@yahoo.com . I was a teacher – so I can explain easy the programming aspects.
If you have used others, please propose in comments.

Generating Word XML – and error

When you generate Word XML file ( with StringTemplate ) or another tool, and you miss some content, Word does not display the error – instead it puts on a specific folder. And it is troublesome to find that file between more files.

So I create this small powershell program to delete all files from that folder – minus the error file, because the word is keep opening:

$folder = [environment]::getfolderpath(“LocalApplicationData “)
$folder = $folder + “\Microsoft\Windows\Temporary Internet Files\Content.MSO”
get-childitem $folder -include *.log -recurse | foreach ($_) {remove-item $_.fullname} # it will not remove the word error file
get-childitem $folder -include *.log -recurse | foreach ($_) { [System.Diagnostics.Process]::Start($_.fullname) }

MVC and auto persisting values

When you have a textbox in HTML (let’s say

<input name=”FirstName” type=”text” />

)
And it binds to “FirstName” Property of a Model, and in HttpPost Action you do modify the value and return the same view, the value shown in the textbox is the posted one, not the modified one. ( The first thought is that HttpPost is not executing – but it is a false impression!)
The solution is:
ModelState.Remove(“FirstName”)

or, better

http://lennybacon.com/2010/09/07/RemovingPropertiesFromTheModelStateTheTypedWay

(and it’s not a bug, it’s a feature: classical example: numeric textbox/ numeric property and user enters “aaa” – the validation error appears and the textbox must have aaa, not 0 or default value for the property )

Redirect and Ajax Redirect in MVC

In the sample example I will have various methods to perform redirects from main page to “About” page of a simple MVC site. In my opinion, there are only 3 cases – 2 goods and one bad – to perform redirection with or without Ajax.

 

First case:  A sample redirect and a sample link:

The action is

 public ActionResult RedirectToAboutNoAjax()
        {
            return RedirectToAction("About");
        }

and in the View I call in a simple <a href, generated by :

@Html.ActionLink("Redirect no ajax to about", "RedirectToAboutNoAjax", "Home")

When you click the link, the following happens : a 302 Found answer is send to the browser with the new Location. The browser goes to the page requested.
image
  

Second case( not good ajax): Call same action from ajax – in hope that ajax will do the redirect alone, without coding further.Modified only the code that calls the action, transforming to ajax.

<a href="javascript:AjaxNotGoodForRedirect('@Url.Action("RedirectToAboutNoAjax", "Home")')">Redirect not good with ajax - returns the page</a>

 What it happens is the same: the ajax code calls the RedirectToAboutNoAjax , that redirects to about – and the result is the page. It is no redirect performed to the page itself – rather, on the ajax itself!And , to proof it, I will show the message of html returned in an message:image

Third case( good with ajax): Call a action that returns the new url as a json data parameter and make javascript know that.The action:

 [HttpPost]
        public ActionResult RedirectToAboutWithAjax()
        {
            try
            {
                
                //in a real world, here will be multiple database calls - or others
                return Json(new { ok = true, newurl = Url.Action("About") });
            }
            catch (Exception ex)
            {
                //TODO: log
                return Json(new { ok = false, message = ex.Message });
            }
        }

The javascript:

function AjaxGoodRedirect(urlAction) {
        $.ajax({
            type: "POST", // see http://haacked.com/archive/2009/06/24/json-hijacking.aspx
            url: urlAction,
            data: {}, //to send data see more at http://bit.ly/mvc_ajax_jquery
            datatype: "JSON",
            contentType: "application/json; charset=utf-8",
            success: function (returndata) {
                if (returndata.ok)
                    window.location = returndata.newurl;
                else
                    window.alert(returndata.message);

            }
        }
        );
    }

Note: You can combine the returning the RedirectToAction with Json by checking Request.IsAjaxRequest value and returning either FirstCase, either ThirdCase.

You can find the example for download here
If you want more details, please comment – and I will provide any further explanations.

MVC Browser history provider for azure–trying an implementation for 3 hours

first, implement  IBrowserUserHistoryRepository  – that means implement:

public void Save(IEnumerable<BrowserUserHistoryData> history)

 

Azure have PartitionKey/RowKey – I have to add a new class.

Also or connectiing, I have to put

 

connectionString="UseDevelopmentStorage=true;" /

 

I tried to add a bulk history :
tableHistory.ExecuteBatch(batchOperation);
The result was:
Unexpected response code for operation : 0
Magic: 
<add key="TableStorageEndpoint" value="http://127.0.0.1:1002/"/>
And one hour has been gone.
Run dsinit to have storage emulator:
No connection could be made because the target machine actively refused it 127.0.0.1:10002

modified code to old Azure code:

now the answer was:

One of the request inputs is out of range.

http://msdn.microsoft.com/en-us/library/dd135715.aspx – All letters in a container name must be lowercase.

Tried that – same result:

One of the request inputs is out of range.

Maybe timestam is wrong? No…

Now debug with Fiddler :

http://sepialabs.com/blog/2012/02/17/profiling-azure-storage-with-fiddler/

image

 

Added to connection string:

 

DevelopmentStorageProxyUri=http://ipv4.fiddler
 And see this in Fiddler :

<d:PartitionKey>zungb4ovunqjd5rtal5ytc3r</d:PartitionKey>

<d:RowKey>http://localhost:2728/</d:RowKey>

: base(UserName, UserName)
 
So the problem is that RowKey does not support url values.
Now , after removing url from the RowKey  - and put username, the error was:

The specified entity already exists

Another hour passes

——————

Now, that it works, thinking about rowkey and partitionkey : no username + url => put date.ToString("yyyyMMdd_HHmmss_tttt")

0:The specified entity already exists.

Oh no, not again?

Look tables =>20121220_064024_AM -  ok, it should be

date.ToString("yyyyMMdd_HHmmss_ffffzzz")

0:The specified entity already exists

Again? debug, please

The real problem:

Forget about sending whole items history - not just not saved ones…
Now it works – kind of

Server Error in ‘/’ Application.


The method or operation is not implemented.

public IEnumerable<KeyValuePair<string, int>> MostUsed(int Count, DateTime? date)
Line 80:         {
Line 81:             throw new NotImplementedException();
Line 82:         }
Line 83: 
-----------
Implementing MostUsed(int Count, DateTime? date) 
Research about filter with data - http://storageextensions.codeplex.com/SourceControl/changeset/view/81826#1914483
Research about GroupBY – not supported!http://msdn.microsoft.com/en-us/library/windowsazure/dd135725.aspx
So now thinking about a way to STORE the data in a convenient format to can retrieve…
 It must take into consideration Count for a date and Count for all dates( date can be null) – AND BOTH THE FACT THAT THE OPERATION WILL BE DONE PER USER.
Time to think – because another hour has passed!
 

Browser history–part 5–conclusions

This is the part 5 of 5 of my implementing of a MVC Browser history

MVC browser history – idea

Browser history –2 – implementing, small bugs

Browser history 3–trying to Nuget – modifications in order to can be transformed from an application to a component

Browser history 4–NuGet again -  finally Nuget deployment

Browser history–part 5–conclusions  – conclusions

 

 

I have reached the (partial) final for my MVC Browser History .  It has started as a simple application – and now it is a NuGet component ready to be used and a demo project at app harbour

What can do for you as a MVC programmer :

  • The component can be integrated in any MVC application easily (via NuGet)
  • you will have a page that displays the list of links that are part of the project and the top 5(configurable) accessed pages
  • You can have this filtered per user basis – or per administrator( small changes in the controller action)
  • It can save the history in memory or in sql server database( configurable in History page, ) or you can make your saving data by implementing  IBrowserUserHistoryRepository
  •  

    You can see in action at app harbour

    If you use, please send me an email.

    If you worry about code source, you can find at github . If you want to improve, feel free to participate Winking smile

    Browser history 4–NuGet again

    This is the part 4 of 5 of my implementing of a MVC Browser history

    MVC browser history – idea

    Browser history –2 – implementing, small bugs

    Browser history 3–trying to Nuget – modifications in order to can be transformed from an application to a component

    Browser history 4–NuGet again – finally Nuget deployment

    Browser history–part 5–conclusions – conclusions

    Prior to Nuget, I think that will be better if the user of my app could play with sql server or memory implementation. So the new GUI is here:

    image

     

    But how could I show to the user where it is saved? Easy – to the history page

    image

     

    And now I can make the NuGet Package .

    In order to can download a controller and not overwrite the Home controller, I must create a controller of its own – so make a modification : History Controller

    Now adding dependencies, fighting with NuGet Explorer,

    In the first test  StructureMap dll reference missing and the Views folder was in the wrong place.

    In the second test , I discovered that I was missing adding the following essential lines

    filters.Add(new BrowserHistory.Models.BrowserUserHistoryFilter());
    ObjectFactory.Configure(ce => ce.For<IBrowserUserHistoryRepository>().Use<BrowserUserHistoryRepositoryMemory>());

     

    So I began reading how to add to global.asax at nuget package installing time – and coming with this:http://blogs.msdn.com/b/davidebb/archive/2010/10/11/light-up-your-nupacks-with-startup-code-and-webactivator.aspx

    Adding code,testing -  another 15 minutes.

    Adding readme.txt – in order to explain what have I done and how to use it – another 30 minutes.

    Now it is ready to be used by you.

    If you want to test it, you can see in action at http://browserhistory.apphb.com/
    Detailed history of creating project at http://msprogrammer.serviciipeweb.ro/category/browserhistory/
    Source code at https://github.com/ignatandrei/MVCbrowserHistory

     

    Next time will do a summary of what I have done in order to build this simple utility project.

    Browser history 3–trying to Nuget

    This is the part 3 of 5 of my implementing of a MVC Browser history

    MVC browser history – idea

    Browser history –2 – implementing, small bugs

    Browser history 3–trying to Nuget – modifications in order to can be transformed from an application to a component

    Browser history 4–NuGet again – finally Nuget deployment

    Browser history–part 5–conclusions – conclusions

    TL;DR : Trying to add a feature (NuGET ) will conduce you to other features – apparently easy to implement – but took 2 hours…

     

    Content:

     

    First, source control is more important – http://www.joelonsoftware.com/articles/fog0000000043.html .I choose github  – deploy is a breeze with GitHub for windows . More, appharbor integration with github is awesome – you can see the application live at http://browserhistory.apphb.com/ .

     

    Now , for generating Nuget package, I should be moving the classes on their own assembly / dll. Also , added this blog to the info. Ensure it works the same. Uploaded to GitHub

    image

    And appharbor just deployed

    image

     

    Now, it will be good if I let user switch implementation between memory saving  and database saving… in order to developers( that have installed the dll with  NuGet  ) switch easily to their database.

    Created

    BrowserUserHistoryRepositorySqlServer
    

    and , after some implementing of IBrowserUserHistoryRepository , the method

    public IBrowserUserHistoryRepository FilterByUser(string UserName)

    put some problems – but solved with a private variable.

     

    Now must decide the best way to switch between MemoryRepository and SqlServerRepository in

    public static T AddOrRetrieveFromApplication<T>(HttpApplicationStateBase app)
    where T:new()
    

    First, we must retrieve at runtime the instance of the interface – so structuremap to the rescure.

    Second, if we need to retrieve a class – must have at least a default constructor.

    So the constraint of the T was gone away   – and the code is

    T result;

    if (typeof(T).IsInterface) {

    result =(T) ObjectFactory.GetInstance(type) ;

    }

    else

    {

    result = (T)Activator.CreateInstance(type);

    }

    Also, in global.asax the following lines were added:

    //ObjectFactory.Configure(ce => ce.For<IBrowserUserHistoryRepository>().Use<BrowserUserHistoryRepositoryMemory>());             //uncomment those for sql server ce             ObjectFactory.Configure(ce => ce.For<IBrowserUserHistoryRepository>().Use<BrowserUserHistoryRepositorySqlServer>());

    Now, when deploy , AppHarbor will NOT found EntityFramework dll.

    Added HintPath to csproj to find EF

    <HintPath>..\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll</HintPath>
    as seen at
    http://blog.appharbor.com/2012/04/24/automatic-migrations-with-entity-framework-4-3

    and it works!

    More, it works with sql server AppHarbor addon  and transformation of web.config.

    image

     
    It took 2 hours to do this thing, apparently simple.
    image
    Now you can find the code source on github at https://github.com/ignatandrei/MVCbrowserHistory
    You can browse the application at http://browserhistory.apphb.com/

    Next time: (maybe some tests and ) NuGET!

    Andrei Ignat weekly software news(mostly .NET)

    * indicates required

    Please select all the ways you would like to hear from me:

    You can unsubscribe at any time by clicking the link in the footer of our emails. For information about our privacy practices, please visit our website.

    We use Mailchimp as our marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp's privacy practices here.