
Ask HN: Learning .Net as an experienced Java dev - reitanqild
Hi!<p>I&#x27;m looking to pick up as much .Net as possible, specifically in the areas of Asp.Net, Entity Framework, NHibernate and a few others before I start with a client that is a MS only shop when I get back to work in January. (Yes, they are aware that I am a Java guy.)<p>So far I have figured out C# is a better Java. IIS is the app server. NuGet is ~a Maven lite. Visual Studio is <i>the</i> IDE, etc.<p>Problem is there are seemingly thousands of small things to figure out that I haven&#x27;t come around to yet, like: is there a common directory layout for projects  (solutions)?<p>How does it decide which templates to use around my page specific html? Something like Tiles maybe?<p>Anyone has some good pointers?
======
partisan
When you create a solution in Visual Studio, you end with a directory
structure that looks like:

    
    
      /SolutionName
        SolutionName.sln <-- "Solution file" contains links to projects
        /Project1Name
          Project1Name.csproj <-- "Project file" contains all project references and files
          /NamespacePart
            SomeClass.cs <-- Default namespace/package is "SolutionName.Project1Name.NamespacePart"
    

As in Java, the namespaces are, by default, driven by folder path. You can
change the namespace on a class. You can also change the default namespace on
a project.

If your client prefers, you can put all of the above in a /src directory. You
can reference compiled DLLs and/or Projects using relative paths, by default
so you can have a /test directory which would point to your /src solutions.

In terms of which templates it uses by default (in ASP.NET MVC), by default
the view is {actionName} so if you have an action "Index" on a controller
"Home", the default view is "/Views/Home/Index.cshtml". You can tell it to use
a specific view, of course, as an overload to the View() method.

In the spirit of the holidays, I'd be willing to have a 30 minute skype call
to answer questions or create a basic project. My gmail is partisanyc.

