When I view the properties for my SharePoint 2010 project I can see an option of Assembly Deployment Target which can be set to either GlobalAssemblyCache or WebApplication.

  1. From this question I was able to figure out that setting value to GlobalAssemblyCache deploys DLL to C:\Windows\assembly. For WebApplication, it says that it will deploy to website/bin. What is the exact path where the WebApplication option deploys the solution?

  2. From this question it seems that custom fields cannot be deployed with option of WebApplication. They can only be deployed to GlobalAssemblyCache. Are there any other restrictions when deploying to WebApplication?

  3. While developing SP solutions which option should be preferred and why?

  1. As the name suggests, Assembly deployment Target; specifies where the assembly i.e. dll of the SharePoint will be deployed to. So, in case of WebApplication deployment target, the assembly will be loaded in the bin folder represented by the IIS site. For example, the deployment is done to port 80 site. Then the path may look like this C:\inetpub\wwwroot\wss\VirtualDirectories\80\bin. Note that other artifacts of the project will be deployed to their respective places. If there is layout mapped folder in the project which contains some .css, .js, .aspx pages. These will be deployed to the physical layouts folder in the Hive.
  2. This question was asked by me. The other restriction are Event receivers, Feature Receivers, workflows, timer jobs. See this for more info.
  3. The first question which you linked has mentioned some Pros and Cons of each method mainly about recycling of application pools. Personally speaking, almost all the solutions I have worked on have been GAC deployed. An advantage with GAC is that it allows multiple versions of same dll.
  • In my case the bin folder has not been created yet, probably becasue I haven't deployed any WebApplication projects yet. Am I right? – Naveen Jan 29 '15 at 11:50
  • Well in my case it is there even if I haven't deployed any WebApplication project. But you can give it a try in the dev machine and see what happens. – Nadeem Yousuf Jan 29 '15 at 11:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.