[{"data":1,"prerenderedAt":496},["ShallowReactive",2],{"article-asp-net-mvc-versions-microsoft-aspnet-mvc":3},{"article":4,"tags":187,"previous":202,"next":398},{"id":5,"title":6,"author":7,"body":8,"createdAt":176,"description":177,"extension":178,"img":25,"meta":179,"navigation":180,"path":181,"seo":182,"stem":183,"tags":184,"updatedAt":176,"__hash__":186},"articles\u002Farticles\u002Fasp-net-mvc-versions-microsoft-aspnet-mvc.md","ASP.NET MVC Versions of Microsoft.AspNet.Mvc","[object Object]",{"type":9,"value":10,"toc":172},"minimark",[11,15,29,36,46,65,67,95,105],[12,13,14],"p",{},"While creating a new web application targeting .NET Framework 4 we see a dialog like the following.  Great all good right. ",[12,16,17],{},[18,19,21],"a",{"href":20},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-fa2dee033792_a6f6-image_2.png",[22,23],"img",{"style":24,"src":25,"alt":26,"title":26,"width":27,"height":28},"display: inline;","\u002Farticles\u002Fimages\u002Fwindows-live-writer-fa2dee033792_a6f6-image_thumb.png","image",306,83,[12,30,31,32,35],{},"What is Microsoft.AspNet.Mvc? What is System.Web.Mvc.dll?  Are these related…in short yes.  I had some confusion as to the relationship between System.Web.Mvc and the Nuget package Microsoft.AspNet.Mvc.  Here is how….",[33,34],"br",{},"\nYes, they are very much related.  Do things have to be this confusing? ",[12,37,38,39],{},"So tracking this down, I created a new out-of-the-box Asp.Net MVC Application.  Afterwards, I opened up Nuget Manager in order to review what packages were installed.  I see a number of packages needing updating.  In particular, I see one Microsoft.AspNet.Mvc however I do not see this assembly in my project references.  Remember - Nuget packages can and do include one or more assemblies(dll’s) and can be named differently than the package name.  In this particular case, the package Microsoft.AspNet.Mvc contains the System.Web.Mvc.dll.  For the record, the project when created referenced this package..",[40,41,45],"package",{"id":42,"version":43,"targetframework":44},"Microsoft.AspNet.Mvc","4.0.30506.0","net40","  (this package includes the System.Web.Mvc.dll Runtime Version v4.0.30319, Version 4.0.0.0 and specifically Product version 4.0.20710.0 shown via file properties)",[12,47,48,49,51,61,62],{},"Inside the out of box .NET 4, MVC application we have…",[33,50],{},[18,52,54],{"href":53},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-fa2dee033792_a6f6-image_6.png",[22,55],{"style":56,"src":57,"border":58,"alt":26,"title":26,"width":59,"height":60},"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;","\u002Farticles\u002Fimages\u002Fwindows-live-writer-fa2dee033792_a6f6-image_thumb_2.png",0,260,285,"  ",[18,63],{"href":64},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-fa2dee033792_a6f6-image_4.png",[18,66],{"href":64},[12,68,69,76,77,79,80],{},[18,70,71],{"href":64},[22,72],{"style":56,"src":73,"border":58,"alt":26,"title":26,"width":74,"height":75},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-fa2dee033792_a6f6-image_thumb_1.png",308,289," ",[33,78],{},"\nLooking at the System.Web.Mvc.dll that was delivered with the new .NET 4 application we have the following dll.  In addition, if we look at the existing Nuget packages in the application we have the following package ",[40,81,82,84,92,94],{"id":42,"version":43,"targetframework":44},[33,83],{},[18,85,87],{"href":86},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-fa2dee033792_a6f6-image_8.png",[22,88],{"style":56,"src":89,"border":58,"alt":26,"title":26,"width":90,"height":91},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-fa2dee033792_a6f6-image_thumb_3.png",346,264,[33,93],{},"\nNow, we will update the Microsoft.AspNet.Mvc version 4.0.30506.0 package to 4.0.40804.0 to see what occurs.",[12,96,97],{},[18,98,100],{"href":99},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-fa2dee033792_a6f6-image_10.png",[22,101],{"style":56,"src":102,"border":58,"alt":26,"title":26,"width":103,"height":104},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-fa2dee033792_a6f6-image_thumb_4.png",134,240,[12,106,107,108],{},"The package in the packages file was updated to ",[40,109,111,112,61,120,128,130,134,136,139,141,142],{"id":42,"version":110,"targetframework":44},"4.0.40804.0","  Looking at the project references after the update we can see System.Web.Mvc Runtime version 4.0.30319 and Version 4.0.0.1.  Note: the file in the bin directory is not updated until after a project build.  Now looking at the file properties we can see File version 4.0.40804.0 and Product version 4.040804.0\n",[18,113,115],{"href":114},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-fa2dee033792_a6f6-image_12.png",[22,116],{"style":56,"src":117,"border":58,"alt":26,"title":26,"width":118,"height":119},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-fa2dee033792_a6f6-image_thumb_5.png",138,226,[18,121,123],{"href":122},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-fa2dee033792_a6f6-image_16.png",[22,124],{"style":56,"src":125,"border":58,"alt":26,"title":26,"width":126,"height":127},"\u002Farticles\u002Fimageswindows-live-writer-fa2dee033792_a6f6-image_thumb_7.png",201,244,[33,129],{},[131,132,133],"strong",{},"In summary…",[33,135],{},[131,137,138],{},"Before",[33,140],{},"\nNuget Package: ",[40,143,144,145,147,150,141,152],{"id":42,"version":43,"targetframework":44},"\nProject Reference: System.Web.Mvc.dll Runtime Version v4.0.30319, Version 4.0.0.0\nFile System: Product version 4.0.20710.0",[33,146],{},[131,148,149],{},"After",[33,151],{},[40,153,154,155,157,158],{"id":42,"version":110,"targetframework":44},"\nProject Reference:System.Web.Mvc Runtime version 4.0.30319 and Version 4.0.0.1\nFile System:File version 4.0.40804.0",[33,156],{},"\nWe also have to note that the web.config was updated by the Nuget package, notice below the newVersion is 4.0.0.1\n",[159,160,161,162],"dependent-assembly",{},"\n  ",[163,164,161,167],"assembly-identity",{"name":165,"publickeytoken":166},"System.Web.Mvc","31bf3856ad364e35",[168,169],"binding-redirect",{"oldversion":170,"newversion":171},"0.0.0.0-4.0.0.1","4.0.0.1",{"title":173,"searchDepth":174,"depth":174,"links":175},"",2,[],"2020-06-11T20:28:49.852Z","Versions of Asp.net","md",{},true,"\u002Farticles\u002Fasp-net-mvc-versions-microsoft-aspnet-mvc",{"title":6,"description":177},"articles\u002Fasp-net-mvc-versions-microsoft-aspnet-mvc",[185],"visualstudio","j2JjzZkhslYYQHf8dsNiFM_V-AhPEaLg23n12z9xFLw",[188],{"id":189,"title":190,"body":191,"description":195,"extension":178,"img":196,"meta":197,"name":185,"navigation":180,"path":198,"seo":199,"stem":200,"__hash__":201},"tags\u002Ftags\u002Fvisualstudio.md","Visualstudio",{"type":9,"value":192,"toc":193},[],{"title":173,"searchDepth":174,"depth":174,"links":194},[],"Develop apps for Android, iOS, Mac, Windows, web, and cloud","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1598313183973-4effcded8d5e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=675&q=80",{},"\u002Ftags\u002Fvisualstudio",{"description":195},"tags\u002Fvisualstudio","glm3bYyBlAXGun4NJe-CV_iOzhszydeBRIpbGNNLeEk",{"id":203,"title":204,"author":7,"body":205,"createdAt":388,"description":389,"extension":178,"img":390,"meta":391,"navigation":180,"path":392,"seo":393,"stem":394,"tags":395,"updatedAt":388,"__hash__":397},"articles\u002Farticles\u002Fhot-module-reload-hmr-issues.md","Hot Module Reload (HMR) Issues",{"type":9,"value":206,"toc":386},[207,210,217,228,236,239,242,247,254,257,382],[12,208,209],{},"Using latest vue.js bit and vue-cli to create a project, I immediately came up against HMR not reloading after making changes to .vue files.",[12,211,212,213,216],{},"What is HMR\n\"",[131,214,215],{},"Hot Reload","\" is not simply reloading the page when you edit a file. With hot reload enabled, when you edit a *. vue file,\nall instances of that component will be swapped in without reloading the page. It even preserves the current state of your app and these swapped\ncomponents!",[12,218,219,220,223,227],{},"I started my project npm run serve, opened my browser ",[18,221],{"href":222},"http:\u002F\u002Flocalhost:8080",[18,224,222],{"href":222,"rel":225},[226],"nofollow"," and navigated around my new app.\nGreat. Within my IDE I modified any vue file, I could see that vue-cli-server (with it’s built in web server) identified that\na file had changed and I could see webpack rebuilding my ts\u002Fjs files. Great. I looked at the browser and my simple html change was not reflected.\nI could see errors in the chrome dev tools network tab like following.",[229,230,231,232,235],"blockquote",{},"\n[WDS] Disconnected net:: ERR_CONNECTION_TIMED_OUT ",[18,233,234],{"title":234,"href":234},"http:\u002F\u002F192.168.1.102:8080\u002Fsockjs-node\u002Finfo?t=1598645595925"," \n",[12,237,238],{},"###Solution\nThere are a number of articles regarding setting NODE_ENV=development,\nas well as articles discussing the vue.config.js file. The solution for me was modifying the package.json script that is\nused by npm to start the project from",[12,240,241],{},"\"serve\": \"vue-cli-service serve\",",[12,243,244],{},[131,245,246],{},"To",[12,248,249,250,253],{},"\"serve2\": \"vue-cli-service serve ",[131,251,252],{},"--host localhost","\",",[12,255,256],{},"I also tried a number of options within the vue.config.js but was able to remove once I identified the solution (above).",[258,259,263],"pre",{"className":260,"code":261,"language":262,"meta":173,"style":173},"language-js shiki shiki-themes github-light github-dark","\u002F\u002F vue.config.js \nmodule.exports = {\n    devServer: \n          {  \u002F\u002Fhost:'localhost'  \n              \u002F\u002F useLocalIp: false,  \n            \u002F\u002F proxy: 'http:\u002F\u002Flocalhost:8080',  \n            \u002F\u002F public: '172.23.3.180:8080',  \n            \u002F\u002F watchOptions: {  \n            \u002F\u002F poll: true  \n            \u002F\u002F }  \n            }, configureWebpack: {  \n                      plugins: [\n                      \u002F\u002Fnew MyAwesomeWebpackPlugin()  \n                      ] \n                  }\n            }\n","js",[264,265,266,275,295,301,310,316,322,328,334,340,346,352,358,364,370,376],"code",{"__ignoreMap":173},[267,268,271],"span",{"class":269,"line":270},"line",1,[267,272,274],{"class":273},"sJ8bj","\u002F\u002F vue.config.js \n",[267,276,277,281,285,288,292],{"class":269,"line":174},[267,278,280],{"class":279},"sj4cs","module",[267,282,284],{"class":283},"sVt8B",".",[267,286,287],{"class":279},"exports",[267,289,291],{"class":290},"szBVR"," =",[267,293,294],{"class":283}," {\n",[267,296,298],{"class":269,"line":297},3,[267,299,300],{"class":283},"    devServer: \n",[267,302,304,307],{"class":269,"line":303},4,[267,305,306],{"class":283},"          {  ",[267,308,309],{"class":273},"\u002F\u002Fhost:'localhost'  \n",[267,311,313],{"class":269,"line":312},5,[267,314,315],{"class":273},"              \u002F\u002F useLocalIp: false,  \n",[267,317,319],{"class":269,"line":318},6,[267,320,321],{"class":273},"            \u002F\u002F proxy: 'http:\u002F\u002Flocalhost:8080',  \n",[267,323,325],{"class":269,"line":324},7,[267,326,327],{"class":273},"            \u002F\u002F public: '172.23.3.180:8080',  \n",[267,329,331],{"class":269,"line":330},8,[267,332,333],{"class":273},"            \u002F\u002F watchOptions: {  \n",[267,335,337],{"class":269,"line":336},9,[267,338,339],{"class":273},"            \u002F\u002F poll: true  \n",[267,341,343],{"class":269,"line":342},10,[267,344,345],{"class":273},"            \u002F\u002F }  \n",[267,347,349],{"class":269,"line":348},11,[267,350,351],{"class":283},"            }, configureWebpack: {  \n",[267,353,355],{"class":269,"line":354},12,[267,356,357],{"class":283},"                      plugins: [\n",[267,359,361],{"class":269,"line":360},13,[267,362,363],{"class":273},"                      \u002F\u002Fnew MyAwesomeWebpackPlugin()  \n",[267,365,367],{"class":269,"line":366},14,[267,368,369],{"class":283},"                      ] \n",[267,371,373],{"class":269,"line":372},15,[267,374,375],{"class":283},"                  }\n",[267,377,379],{"class":269,"line":378},16,[267,380,381],{"class":283},"            }\n",[383,384,385],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":173,"searchDepth":174,"depth":174,"links":387},[],"2020-08-28T20:50:38.782Z","HMR issues after creating new Vue app via vue-cli.  Hot Module Replacement (HMR) exchanges, adds, or removes modules while an aplication is running, without a full reload.  Ultimately, this significantly improves development efforts.","\u002Farticles\u002Fimages\u002Fwebpack.png",{},"\u002Farticles\u002Fhot-module-reload-hmr-issues",{"title":204,"description":389},"articles\u002Fhot-module-reload-hmr-issues",[396],"vuejs","ji1AxRVh3i7FKPFuNIP_WlsYYW7t_5wc7KzZ105NyEU",{"id":399,"title":400,"author":401,"body":402,"createdAt":176,"description":487,"extension":178,"img":426,"meta":488,"navigation":180,"path":490,"seo":491,"stem":492,"tags":493,"updatedAt":176,"__hash__":495},"articles\u002Farticles\u002Fdevops–pushing-nuget-package-to-azure-artifacts-repository.md","DevOps–Pushing Nuget package to Azure Artifacts Repository",null,{"type":9,"value":403,"toc":485},[404,407,410,413,416,419,422,427,430,433,436,452,455,461,467,470,477,482],[12,405,406],{},"What a journey\n",[12,408,409],{},"I am going to document this for the sole reason that I am aware that I will once again need this information\nonly just a few days from now. Problem: I have a nuget package that I want to push to an Azure Artifact directory.",[12,411,412],{},"I figured easy enough there is some documentation, and I tried with the following:",[12,414,415],{},"nuget push -source \"MyFeed_feed\" -apikey az \"C:\\tfs\\Git\\MLayout\\MLayout\\MLayout\\bin\\Debug\\Layout.1.0.0.nupkg\"",[12,417,418],{},"I did have to download Nuget and ensure it was found when using the above command via command prompt. \nOnce setup, and re-ran I was prompted for username and password. As many times as I tried it would just continue to fail and eventually\nwould timeout. I am sure this worked just a few weeks ago.",[12,420,421],{},"Regardless on to plan B, documentation..",[12,423,424],{},[22,425],{"alt":173,"src":426},"\u002Farticles\u002Fimages\u002Fimage_637275041288251465.png",[12,428,429],{},"1) I downloaded the latest Nuget.exe",[12,431,432],{},"2) Download and install the credential provider (this one was a bit more challenging)",[12,434,435],{},"I figured I would use the Automatic approach. ",[12,437,438,439,442,445,446,451],{},"a) I downloaded installcredprovider.ps1 from this github location\n",[18,440],{"href":441},"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fartifacts-credprovider\u002Ftree\u002Fmaster\u002Fhelpers",[18,443,441],{"href":441,"rel":444},[226],"\n(more information can be found ",[18,447,450],{"href":448,"target":449},"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fartifacts-credprovider#azure-artifacts-credential-provider","_blank","here",")",[12,453,454],{},"b) Now that I have a file on disk, I have to run it. I started Powershell then proceeded to run this\nps1 by typing .\\installcredprovider.ps1 at the PS>",[12,456,457,460],{},[22,458],{"alt":173,"src":459},"\u002Farticles\u002Fimages\u002Fimage_637275041290983297.png","\nd) Now with this installed I retried to push my nuget package with nuget push -source \"MyFeed_feed\" -apikey az \"C:\\tfs\\Git\\MLayout\\MLayout\\MLayout\\bin\\Debug\\Layout.1.0.0.nupkg\"",[12,462,463,466],{},[131,464,465],{},"No go, ","so I tried with using the vs.net command prompt.",[12,468,469],{},"I opened up a command prompt from Windows-Start ensuring to pick the “Developer Command Prompt for VS 2019”",[12,471,472,473,476],{},"Now, I ensured that nuget.exe was available and it was! ",[131,474,475],{},"So I retried my nuget push",". You can see finally, that it used the Credential Provider",[12,478,479],{},[22,480],{"alt":173,"src":481},"\u002Farticles\u002Fimages\u002Fimage_637275041296161377.png",[12,483,484],{},"The entire process probably 1 hour of effort, but essentially using the VS.NET 2019 command prompt, download the ps1 for the credprovider,\nexecute using powershell then retry.",{"title":173,"searchDepth":174,"depth":174,"links":486},[],"Some days you can be really productive, and others some very simple things just seem to eat up time.  Today, I came across the latter and thought I would document for others and also myself.  Installing a credprovider in order to push a nuget package to Auzre-DevOps.  Read on...",{"name":489},"David","\u002Farticles\u002Fdevops-pushing-nuget-package-to-azure-artifacts-repository",{"title":400,"description":487},"articles\u002Fdevops–pushing-nuget-package-to-azure-artifacts-repository",[494],"azure","Zw3qsYjIGVLIj9PIXvZHt_pkg1PaGxS6xuD33wiVVHg",1781574769305]