CRM 2011 Development toolkit - dynamics-crm

I just installed the CRM Development Toolkit and everything seems to be working fine until I need to deploy the plugins. According to the tutorials I should have a Deploy option just below Rebuild when i right click on the project package(in this case Lan2Lan). Unfortunately I have no such option.
Any ideas what I might be doing wrong?

If you want to deploy in this manner, create your initial project using the Solution Template rather than the individual plug-in library template. It will create projects for plug-ins, workflows and SilverLight. You can delete the projects you don't need. In the end you should have a project called 'CrmPackage' which you can right click on and have a 'Deploy' option.

I would suggest that if all you are maintaining is JScript, then use the CRM 2011 Package project. It doesn't create the Plugin, WF and Silverlight projects - which have to be compiled and deployed slowing down your deploys.
Personally, I keep my web resources and compiled projects in separate projects to speed my JScript develop/debug/deploy process.

Related

Dynamics 365 Plugin Dev Tools

What tools are you using for CRM plugin development?
I used both "Dynamics 365 Developer Toolkit" and "Dynamics 365 Developer Extensions" previously. Unfortunately, The "Dynamics 365 Developer Toolkit" no longer works reliably for me in VS 2019 (yes, I followed the steps to update the vsix file). I looks like Jason Lattimer's has stopped making the "Dynamics 365 Developer Extensions".
Thanks!
Personally I use none, but rely on an Azure DevOps pipeline to deploy everything.
For client side development I heavily use Fiddler 4 with auto responder rules with a local webpack devserver. I am not sure how to improve this process much more.
For serverside Plugins I prefer using ILMerge Build Tasks (check nuget) and separate the IPlugin interface implementation from my code so I can easily write unit tests for that. I do not use testing libraries like EasyRepro or XrmFakeEasy. I don't think they add a big benefit and more or less negate one of the best effects of unit testing. Creating good testable code.
For plugin deployment I currently use spkl by Scott Durrow and it is working fine so far.
For generating early bound classes I use a custom .bat file that actually just calls the CrmSvcUtil.exe with a couple of extra .dll files that helps creating enums instead of optionsets.
I am not a huge fan of toolkits or templates that dictate how you have to write your stuff, because most of them embrace bad programming patterns. For example the XrmToolkit forces you to use a certain folder structure for your clientside scripts to not mess up your crm system and so on.
XrmToolkit is a commercial Dynamics 365/CDS development add-on that is actively maintained and supports Visual Studio 2019.
I have been relying on it for years to assist with generating proxy classes, registering and publishing plugins, publishing web resources on save, etc.
I have no affiliation with XrmToolkit.
You can use Microsoft.net framework with visual studio or visual studio code for implement dynamics 365 plugins and register that in plugin registration tools.
• Write a plugin
• Register a plugin

How do I handle builds of Web Application Projects in VS 2012 without Web Deployment Projects?

My team uses Team City to do continuous builds and deployment of our Web Application Projects. In order to do a deployment build, we use Web Deployment Projects, which are not available in Visual Studio 2012. We aren't really using any of the advanced features of WDPs like .config transformations, but the main reason we use them is because when they build, they put only the necessary files for deployment into the build folder - in essence, removing all the .cs files and leaving only what's needed for "xcopy deployment". We then rsync the result to our test/prod environments.
So, my question is this: now that WDPs are no longer supported in Visual Studio 2012, how do I do an automated deployment build that pares down to only the files needed for deployment in VS2012?
Web Deployment Projects have been superseded by Publishing Profiles in VS2012.
They can do everything WDPs can do, with the added advantage of not needing to install additional software or create a separate .WDP project file.
Doug Rathbone has done a great blog post on migrating to Publishing Profiles from WDP:
http://www.diaryofaninja.com/blog/2012/08/26/visual-studio-2012-web-deployment-projects-are-dead-ndash-long-live-publishing-profiles
You should look into Octopus, it gives you all kind of deployment options. http://octopusdeploy.com/
Since .net 4.0 there is package and publish support in Web Application Projects out of the box. All you need is call msbuild /t:Package - it will do all the stuff.
I recommend to read this tutorial, there is everything you need. http://www.asp.net/web-forms/tutorials/deployment/deploying-web-applications-in-enterprise-scenarios/deploying-web-applications-in-enterprise-scenarios
We use Jenkins for our CI environment combined with SVN. In VS 2012 we check in code (using Ankh) to SVN and we configure Jenkins to poll SVN every 15 minutes:
Jenkins CI
Here's a post I wrote about setting up a CI server with IIS7 and Web Deploy 2.0:
Setup CI server with IIS7 and Web Deploy 2.0

Compile a web application without the Silverlight project references

We have a semi-complex Visual Studio solution that has a Silverlight 4 front end, CSLA 4.1 for the business entities, and using the CSLA WCF data portal. Because of using CSLA for the serialization across the wire, we have to have our Silverlight business assemblies the same name as our server side business assemblies. The problem comes when trying to build our Web application due to conflicting assembly names. Compiling on a developer's box works fine since Visual Studio is doing it's own magic to avoid conflicts at the solution level, but having separate builds for the Web Application and the Silverlight projects on the build server is causing issues due to the Web Application referencing the Silverlight projects in the .csproj. Due to that, when we have TFS perform a build against the Web Application it will attempt to compile the Silver projects and update the XAPs. We have that being done as a separate build so we don't care about that.
Is it possible to set up the .csproj build a Web Application on a developer's machine with the Silverlight references building, but having them ignored on the build server? Ideally it would involve not relying on our own custom MSBuild properties being thrown at the build in TFS. As a last resort we could stop relying on the .csproj build scripts and create our own MSBuild file, but we don't have the time allocated for that just yet.
The solution I ended up taking was modifying the Web Application .csproj so that the line
<SilverlightApplicationList>...</SilverlightApplicationList>
had a conditional of the following
<SilverlightApplicationList Condition="'$(SilverlightApplicationList)' == ''">...</SilverlightApplicationList>
Then in build definition for the project, under Process -> MSBuild Arguments I added
/p:SilverlightApplicationList=" "
So now developers can build locally and the build process can build just the Web Application without the Silverlight projects.

How to determine Visual Studio Setup and Deployment project prerequisites?

I am trying to deploy an app in C# with a Setup And Deployment project in VS2010. The main project and the deployment project are in the same solution and I have added the primary output of the main project to the deployment project. In the property pages for the deployment project, there is a button for prerequisites. How do I find out what items my app will require for successful deployment?
Thanks.. :)
Visual Studio will manage all the requisite DLL's that need to be installed for your application to run... If still you need to add more dependencies then you could create an application that will handle this process for you.
And since Microsoft has an easy solution for almost everything, there are options to the installer to do just this. Here you'll find it as per MS documentation.
Right click your project => propereties => Application => Target Framework

build and release package in sharepoint

I am new to config / build and release management.
We are using VSS for our config management tool and also we are using SharePoint in our project. In VSS we have lot of files like .cs, .snk, .dll, .pdb, .css, .js, .xml etc.
We want to make a build/release as a package for testing that should be an internal delivery. I don't have any idea how to create a build/release package. Can any body give me any suggestion/information how to do this?
One more thing: due to some internal reasons we can not use any free ware or any other software. Is it possible to do this with visual studio?
I agree with Mitch, not possible with VSS only. But...if you don´t wan´t to use TFS (Team Foundation Server) which is the preferred option I would recommend looking at Cruise Control for doing your builds.
The other option is to use some sort of custom MSBuild project to package your stuff together, use WSP Builder to make that process a bit better. The best way to automate this is still to use TFS or Cruise Control to build your custom MS build project.

Resources