Wednesday, July 30, 2014

Windows Azure Pricing

If you are looking for how much it costs to operate in the Windows Azure Cloud, Microsoft has published some pricing information to make a rough estimate of how much it will cost to run in the Windows Azure Cloud.

You can use this general purpose Pricing Calculator to determine estimated costs for using a variety of services in the Windows Azure Cloud: https://azure.microsoft.com/en-us/pricing/calculator/?scenario=web

If you are specifically focuses on running virtual machines in the Windows Azure Cloud, you can get pricing for that here: https://azure.microsoft.com/en-us/pricing/details/virtual-machines/

Of course, some of these overall costs may be reduced for running in the Windows Azure Cloud if you currently own an MSDN subscription.  Depending on what type of MSDN Subscription you have, you may be able to use anywhere between $50 and $150 per month towards your Windows Azure hosting.  You can read more about the Windows Azure benefits for MSDN Subscribers here: http://azure.microsoft.com/en-us/pricing/member-offers/msdn-benefits-details/

If you need to activate your MSDN Azure Benefits, you can do so directly from here: http://azure.microsoft.com/en-us/pricing/member-offers/msdn-benefits/?WT.mc_id=MSDN_Subs_Portal1

A better alternative to Find in Files in Visual Studio

If you have ever been frustrated with Finding text in Files, the Current Project or the Current Solution in Visual Studio, you are not alone.

One of the major problems with Visual Studio is how long it takes to find instances of text within the IDE and then above and beyond that, the Find option in Visual Studio usually forces you to visit EACH AND EVERY instance of the text before you can move on to the next instance.  Even if you use the Find All option, it often misses instances of the text within the entire project, thereby forcing you to do a Find Next anyway.

However, thanks to some clever developers, there are alternatives to Visual Studio for finding content in directories and files.

One of my favorite tools for searching for content within files and folders is JGSoft PowerGrep: http://www.powergrep.com/index.html

PowerGrep offers a convenient folder explorer to select the files and folders you want to search.  After that, you simply enter the text that you are searching for and PowerGrep will return all of the results for the text found in those files!!  Truly awesome!!


Monday, July 28, 2014

Setting up IIS in Autounattend.xml for Windows Server 2012/Windows Server 2012 R2


I frequently need to build and tear down VMs and update and refresh them with patches etc. so I heavily rely on being able to use the Autounattend.xml to automate my Windows installations above and beyond the basic installation.  You can find a great deal of documentation on the various settings required for an Autounattend.xml file in the Unattend.chm file that is installed when you install the Windows ADK along with Windows System Image Manager.
One of the most needed features for me is having IIS pre-configured for me.  I was previously able to accomplish this readily with earlier releases of Windows Server such as Windows Server 2008 and Windows Server 2008 R2 but with the release of Windows Server 2012/Windows Server 2012 R2, I was always plagued with the following error message:




As it turns out, after doing a bit of extended research and testing, I determined that it was due to my inclusion of the following element:
<selection name="NetFx3ServerFeatures" state="true" />

<selection name="NetFx3" state="true" />


Unfortunately, for whatever reason, Microsoft chose to not include support for installing these features directly through the Autounattend.xml file. 

Therefore, these features can only be installed via the DISM command.  Once I disabled/removed these settings from my Autounattend.xml file, I ended up with the following package settings for Windows Server 2012:


<servicing>

        <package action="configure">

            <assemblyIdentity name="Microsoft-Windows-ServerCore-Package" version="6.2.9200.16384" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="" />

            <selection name="WirelessNetworking" state="true" />

            <selection name="Xps-Foundation-Xps-Viewer" state="true" />

            <selection name="TelnetClient" state="true" />

            <selection name="IIS-WebServerRole" state="true" />

            <selection name="IIS-WebServer" state="true" />

            <selection name="IIS-WebServerManagementTools" state="true" />

            <selection name="IIS-ManagementConsole" state="true" />

            <selection name="IIS-ManagementScriptingTools" state="true" />

            <selection name="ServerCore-FullServer" state="true" />

            <selection name="MicrosoftWindowsPowerShell" state="true" />

            <selection name="ServerCore-WOW64" state="true" />

            <selection name="NetFx4" state="true" />

            <selection name="NetFx4ServerFeatures" state="true" />

            <selection name="MicrosoftWindowsPowerShellISE" state="true" />

            <selection name="MicrosoftWindowsPowerShellRoot" state="true" />

            <selection name="Server-Gui-Mgmt" state="true" />

            <selection name="IIS-ApplicationDevelopment" state="true" />

            <selection name="IIS-ApplicationInit" state="true" />

            <selection name="IIS-ASPNET45" state="true" />

            <selection name="NetFx4Extended-ASPNET45" state="true" />

            <selection name="IIS-NetFxExtensibility" state="false" />

            <selection name="IIS-NetFxExtensibility45" state="true" />

            <selection name="IIS-Security" state="true" />

            <selection name="IIS-BasicAuthentication" state="true" />

            <selection name="IIS-WindowsAuthentication" state="true" />

            <selection name="IIS-RequestFiltering" state="true" />

            <selection name="IIS-ISAPIExtensions" state="true" />

            <selection name="IIS-ISAPIFilter" state="true" />

            <selection name="IIS-CommonHttpFeatures" state="true" />

            <selection name="IIS-DefaultDocument" state="true" />

            <selection name="IIS-ASP" state="true" />

            <selection name="IIS-Performance" state="true" />

            <selection name="IIS-HttpCompressionStatic" state="true" />

            <selection name="IIS-HealthAndDiagnostics" state="true" />

            <selection name="IIS-HttpLogging" state="true" />

            <selection name="IIS-HttpTracing" state="true" />

            <selection name="IIS-RequestMonitor" state="true" />

            <selection name="NetFx3ServerFeatures" state="false" />

            <selection name="NetFx3" state="false" />

            <selection name="IIS-ASPNET" state="false" />

        </package>

    </servicing>


The version number is slightly different for Windows Server 2012 R2, but all else is essentially the same:


<servicing>

        <package action="configure">

            <assemblyIdentity name="Microsoft-Windows-ServerCore-Package" version="6.3.9600.16384" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="" />

            <selection name="WirelessNetworking" state="true" />

            <selection name="Xps-Foundation-Xps-Viewer" state="true" />

            <selection name="TelnetClient" state="true" />

            <selection name="IIS-WebServerRole" state="true" />

            <selection name="IIS-WebServer" state="true" />

            <selection name="IIS-WebServerManagementTools" state="true" />

            <selection name="IIS-ManagementConsole" state="true" />

            <selection name="IIS-ManagementScriptingTools" state="true" />

            <selection name="ServerCore-FullServer" state="true" />

            <selection name="MicrosoftWindowsPowerShell" state="true" />

            <selection name="ServerCore-WOW64" state="true" />

            <selection name="NetFx4" state="true" />

            <selection name="NetFx4ServerFeatures" state="true" />

            <selection name="MicrosoftWindowsPowerShellISE" state="true" />

            <selection name="MicrosoftWindowsPowerShellRoot" state="true" />

            <selection name="Server-Gui-Mgmt" state="true" />

            <selection name="IIS-ApplicationDevelopment" state="true" />

            <selection name="IIS-ApplicationInit" state="true" />

            <selection name="IIS-ASPNET45" state="true" />

            <selection name="NetFx4Extended-ASPNET45" state="true" />

            <selection name="IIS-NetFxExtensibility" state="false" />

            <selection name="IIS-NetFxExtensibility45" state="true" />

            <selection name="IIS-Security" state="true" />

            <selection name="IIS-BasicAuthentication" state="true" />

            <selection name="IIS-WindowsAuthentication" state="true" />

            <selection name="IIS-RequestFiltering" state="true" />

            <selection name="IIS-ISAPIExtensions" state="true" />

            <selection name="IIS-ISAPIFilter" state="true" />

            <selection name="IIS-CommonHttpFeatures" state="true" />

            <selection name="IIS-DefaultDocument" state="true" />

            <selection name="IIS-ASP" state="true" />

            <selection name="IIS-Performance" state="true" />

            <selection name="IIS-HttpCompressionStatic" state="true" />

            <selection name="IIS-HealthAndDiagnostics" state="true" />

            <selection name="IIS-HttpLogging" state="true" />

            <selection name="IIS-HttpTracing" state="true" />

            <selection name="IIS-RequestMonitor" state="true" />

            <selection name="NetFx3ServerFeatures" state="false" />

            <selection name="NetFx3" state="false" />

            <selection name="IIS-ASPNET" state="false" />

        </package>

    </servicing>

Saturday, July 26, 2014

JavaScript development deficiencies in Visual Studio

Many developers know that the overall JavaScript development experience has improved significantly in the last several releases of Visual Studio up to and including the release of Visual Studio 2013.

However, JavaScript editing and development still does not support #regions!!  Therefore, if you want to see this feature in a future release of Visual Studio (perhaps even an update), you should vote for this item here:
http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3346339-support-for-regions-in-javascript-editor-of-visual

A JavaScript navigation toolbar was supposed to be included as part of the original Visual Studio 2013 release (http://blogs.msdn.com/b/visualstudio/archive/2013/07/16/javascript-editor-improvements-in-visual-studio-2013-preview.aspx), however, it seems it was removed from the final release of Visual Studio 2013.  This is a very handy feature to be able to easily navigate functions in JavaScript, so you can vote for Microsoft to bring it back here: http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3346341-javascript-navigation-toolbar

Of course, the biggest pain point with JavaScript debugging is debugging through the browser.  Of course, there is Integrated Debugging with Internet Explorer, but what about Integrated JavaScript debugging support for Mozilla Firefox and Google Chrome.  Of course, we can launch Mozilla Firefox and Google Chrome to begin our web debugging sessions with these alternative browsers in Visual Studio 2013, but what about the integrated JavaScript debugging support?  Even though we can use Firebug and the Developer Tools in Google Chrome, the debugging experience is simply not the same as debugging directly into the source code file using Internet Explorer.  If you also want this feature in a future release of Visual Studio, you should vote for this item here: http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/6205061-provide-integrated-javascript-debugging-in-firefox

And if you are a bit skeptical about your vote counting or making any difference, just take a look at Visual Studio 2013.  It was significantly altered in look and feel from Visual Studio 2012 in response to overwhelming negative feedback about the colorless IDE!!

Friday, July 25, 2014

Configuring Jetbrains TeamCity with Visual Studio Online

If you are using Jetbrains TeamCity as your Continuous Integration Build Server, it has supported Team Foundation Server for several years.

However, because of the way in which Visual Studio Online authenticates by default, you cannot directly integrate Visual Studio Online as a VCS with Jetbrains TeamCity.

Fortunately, you can set up Visual Studio Online to work with Jetbrains TeamCity by making a few minor configuration changes.

First of all, you will need to set up alternate credentials for the Visual Studio Online account that will be used to run builds as described here: http://www.visualstudio.com/en-us/news/2012-aug-27-vso


You can access the Alternate Credentials Dialog by going into My Profile under your user name or the particular build user account.

Once you have that set up, you can now proceed to configure your VCS setting to Team Foundation Server.  However, when you enter the user name credentials, you will now need to specify your Alternate Credentials in the following format: ##LIVE##\username, therefore, your screen should look something like the following:



You can then test your connection to make sure it is working properly.  If so, you should be all set to run your builds from Visual Studio Online using Jetbrains TeamCity!!

Wednesday, July 23, 2014

SharePoint 2013 Workflows always entering Suspended State

I was recently creating some SharePoint 2013 Workflows using SharePoint Designer and I noticed that all of my workflows would suddenly enter the "Suspended" state for no apparent reason.

Of course, I looked at the Workflow Tasks and I found errors such as the following:



Interestingly enough, you will find numerous articles on the web stating that this all has to do with making sure that the User Profile Service is working and having the e-mail address/Work e-mail field populated.

However, I had done all of that and it was working!!  In fact, I could browse all of the various User Profiles in Central Administration and they were all there!!

So what was going on?

Well, I was using the User Profile Service with the SharePoint Active Directory Import option (under User Profile Service-->Configure Synchronization Settings).



Now, normally, this should not make any difference and the SharePoint 2013 Workflows should still just work (this is what I always use in my own development/test environments), but I thought that this might still be triggering some unusual problems in this particular environment. so I decided to switch it back over to the "SharePoint Profile Synchronization" option instead.


An unfortunate consequence of switching over the type of the User Profile Synchronization import process was that I had to go back and make sure that the User Profile Synchronization Service was started (it is not needed for the SharePoint Active Directory Import):


I also had to reconfigure my Synchronization Connections:

Finally, I had to make sure that my User Properties still retained their attribute mappings:




Of course, after I set this up, I re-tried my workflows and lo and behold my SharePoint Workflows began working without any issues!!


JavaScript Intellisense for Telerik RadControls for ASP.NET AJAX

If you want to leverage JavaScript in the Visual Studio IDE while working with the Telerik RadControls for ASP.NET AJAX, you will need to follow this article: http://www.telerik.com/help/aspnet-ajax/introduction-jquery-intellisense.html

The article basically states that in the Visual Studio 2012 and Visual Studio 2013 IDEs, you can no longer get JavaScript Intellisense simply by adding the Telerik RadScriptManager to the page.  Instead, you have to revert to using the ASP ScriptManager to the page and linking to the Telerik.Web.UI.Common.Core.js Script Reference.

Alternatively, you can create a sample ASP.NET Page that contains the ScriptManager which can be used solely within the IDE to set up JavaScript Intellisense for the RadControls.

If you work extensively with the Telerik RadControls within your project, you are probably better off using the latter solution to have Intellisense throughout your project without jumping through too many hoops and losing the other benefits of using the Telerik RadScriptManager control on your pages.

Tuesday, July 22, 2014

XML File Changes in InstallShield and Advanced Installer

If you work with .NET Projects, there is a good chance that you will need to work with XML Files due to the .config files associated with most .NET projects (especially ASP.NET Projects).

Both InstallShield and Advanced Installer offer mechanisms to deploy XML Files.



Unfortunately, however, whenever you make changes to the Web.config file (such as through .NET Framework Upgrades), you will need to do one of the following:


  1. Re-import the XML File
  2. Make the necessary changes manually to the XML File in InstallShield or Advanced Installer to correspond to the changes you made as part of your project.
In most cases, if the changes are anything but very minor, I would recommend that you simply re-import the entire XML/Config file to ensure that all of your changes are deployed when you deploy the newer version of your installation package.  Because, as you can guess, if you forget any elements/nodes in the XML File/Config File, this will result in errors when you launch your application.

Neither of these IDEs seem to offer any capability to dynamically detect or provide differencing capabilities between the imported XML File and what currently exists on the file system to determine how best to deploy your changes as part of your installation package, so it seems a better choice overall to simply do a re-import even though that will definitely be additional effort to re-customize the XML File in the installation IDE.

Wednesday, July 16, 2014

Getting started with Mercurial for Visual Studio and TFS Developers

I recently had to work on a project that required the use of Mercurial as its source control repository.  Since I am a long time user of Visual SourceSafe, Subversion and Team Foundation Server, using Mercurial was quite a radical change for me and required a bit of a learning curve.

Therefore, I decided that I would share my experiences with others who need to learn and work with Mercurial as well.  In addition, while this article specifically addresses the use of Mercurial, the same techniques can also be used and applied towards the use of Git (another Distributed Version Control System--DVCS).

First of all, to get started with Mercurial, you will need to install the necessary tools to work with Mercurial and Visual Studio:


TortoiseHg is a client tool that allows you to work with Mercurial via Windows Explorer as well as through a tool called TortoiseHg Workbench.  Of course, there are alternatives to TortoiseHg such as SourceTree (http://www.sourcetreeapp.com/), but I prefer to use TortoiseHg and will be using TortoiseHg for my examples throughout this article.

VisualHg is an add-in to Visual Studio which allows you to perform commits and other source control operations directly through Visual Studio.

First of all, let's get familiar with how a DVCS differs from a centralized source control repository such as Visual SourceSafe, Subversion or Team Foundation Server:

  1. DVCS works be allowing each developer to set up their OWN source control repository on their local machine.  Therefore, commits initially occur to their own local repository.
  2. The way in which most company/corporate DVCS systems work is by using a hosted repository such as BitBucket.org to host the centralized source code and each developer then clones the repository to their local machine.
  3. Commits and other source control operations initially occur against the cloned repository.  
  4. You can check your pending changes by performing a status operation. 
  5. Just as with TFS, committed changes are identified as changesets.
  6. When it comes time to get the latest version of changes from the hosted DVCS repository, you perform a pull operation. 
  7. When you are ready to commit your changes to the hosted DVCS repository, you perform a push operation. 

Now once you have these tools installed and you are familiar with the Mercurial terminology, it is time to get started setting up your development environment!

First of all launch TortoiseHg Workbench:

Now, you will first have to set up your Username so that you can perform commits against your locally cloned repository as well as eventually perform pushes to the centrally hosted repository.  To do that, you can click on the File menu and select Settings.

On the Commit tab, enter your username for the DVCS repository and click on the OK button.

Once you have done that, it is time to begin cloning the centrally hosted DVCS repository to your local machine by selecting File-->Clone Repository.

The Source field will be the Url to your centrally hosted repository and the Destination field will be any path on your local file system.

Once you have entered these fields, you should be able to click on the Clone button to begin cloning the repository to your local file system.

Now that you have cloned the repository to your local file system, the nice thing about using a tool such as TortoiseHg is that you can even make edits directly through Windows Explorer and commit them to your locally cloned repository!!


If you see an .hgignore file on the file system, that file is used to ignore files that should not be committed to Mercurial source control such as temp files, binary files etc.  This file is simply a text file that can be edited to add additional files to ignore to suit your development needs.

Now, you need to configure Visual Studio to use the VisualHg plug-in for development.

From the Tools menu select Options.

Under Options, you will need to click on Source Control and change the Current source control plug-in to VisualHg:

Now, once you open the solution in Visual Studio, you will be able to perform source control operations directly from within Visual Studio:

F

Finally, when you are ready to commit the code back to the centrally hosted DVCS repository, you simply use the following icons in TortoiseHg Workbench to perform operations such as check incoming changes, pull incoming changes, check for outgoing changes and push outgoing changes:

NOTE: It is important to always check for incoming changes, pull incoming changes (and merge/commit to your local cloned repository) before pushing outgoing changes in order to ensure that the central repository gets updated properly.  Otherwise, you can end up with multiple heads (i.e. branches) of the main repository thus causing problems with your continuous integration build processes.    

That is all there is to it!!













Monday, July 14, 2014

Team Foundation Server 2013 with Update 2 and SQL Server 2012 with SP2

As you may already know, SQL Server 2012 with SP2 was recently released.  However, even though it appears that Microsoft should be able to support it with Team Foundation Server 2013 with Update 2 based on their system requirements: http://msdn.microsoft.com/library/dd578592(v=vs.120).aspx, that does not appear to truly be the case!!

This is the error message I receive when attempting to install TFS 2013 with Update 2 using an installation of SQL Server 2012 with SP2:


Of course, according to the system requirements, it states that SQL Server 2014 IS supported, so I went ahead and tried to upgrade my SQL Server 2012 SP2 installation to SQL Server 2014 and received this error message:


Therefore, I was forced to UNINSTALL SQL Server 2012 SP2 and install SQL 2014 instead!

So, as usual with Microsoft products, just because a new service release comes out does not mean that any other Microsoft products support it yet!!

Sunday, July 13, 2014

Installing Active Directory Domain Services on Windows Server 2012 R2

Below are the screenshots for installing Active Directory Domain Services on Windows Server 2012 R2.  However, before you get started, you have to complete 1 VERY IMPORTANT STEP: Make sure you assign a static IP address to the server and set the Primary DNS Server to 127.0.0.1 before you go through the Server Configuration Wizard.













Unable to delete Thumbs.db

I have frequently encountered the following error message when attempting to delete folders:





Unfortunately, no matter how many times I tried the operation, I was not able to delete the folder.

After doing some searching on the Internet, this seems to be a very common occurrence and issue for numerous people.  However, some individuals suggested removing the Hidden and System attributes from the files and folders in order to be able to successfully delete the content. 

So I ran the following command in the command window: attrib -R -H -S /S /D

After running the following command, I was able to successfully delete the folders!!

Thursday, July 10, 2014

Dotfuscator for Visual Studio 2013

If you are looking for Dotfuscator Community Edition for Visual Studio 2013, you might try searching on the Internet and come up with this link on Visual Studio Gallery:  http://visualstudiogallery.msdn.microsoft.com/d0ac8a14-bc36-4afb-89d1-41078948dabe

Unfortunately, this link just points to the PreEmptive website which prompts you to download a trial version of Dotfuscator Professional.

Instead, you probably want the version of Dotfuscator that ships directly with Visual Studio 2013 Premium Edition and above that is available directly from the Tools menu:






Monday, July 7, 2014

Building a solution using outdated Infragistics controls

If you have ever worked the Infragistics control suite, you probably already know that Infragistics ships with a licenses.licx file that is required for Visual Studio Designer support.

Unfortunately, if your development team does not regularly keep up-to-date with each Infragistics control suite release, then you may end up with outdated controls that are no longer compliant with the most recent release of Visual Studio.

In my case, I was working on a project that used Infragistics controls for Visual Studio 2010 but had recently upgraded the IDE to Visual Studio 2013.

Part of the project plan included a task for upgrading the Infragistics control suite to the latest version so that there would be support for Visual Studio 2013.  Of course, while I was attempting to compile the solution, I encountered a build problem that prevented me from building the solution.

Fortunately, I found an article that stated that I could simply remove all of the content from the licenses.licx file to allow me to build once again.

Therefore, I blanked out the licenses.licx file and I could build my solution using the outdated Infragistics controls in Visual Studio 2013!!  Yeah!!

Crystal Reports for Visual Studio 2013

If you are looking to develop Crystal Reports using Visual Studio 2013, then you will want to download the latest version of Crystal Reports which supports Visual Studio 2013.

You can download the latest versions of Crystal Reports for Visual Studio from here: http://scn.sap.com/docs/DOC-7824

Currently, Support Pack 9 and later support Visual Studio 2013.

Additionally, if you need tor register on the SAP site in order to be able to download the Crystal Reports runtimes/redistributables for Visual Studio, you can register here: https://global.sap.com/campaign/ne/free_trial/crystal_reports_visual_studio/index.epx?url_id=text-na-sapcom-crvs-trial-landing&kNtBzmUK9zU=1

Wednesday, July 2, 2014

Microsoft SQL Server 2012 SP2 Released!

Microsoft SQL Server 2012 SP2 was just recently released!!

If you want SQL Server 2012 with SP2 installation media, you can download that directly from MSDN now: http://msdn.microsoft.com/subscriptions

If you simply want the SP2 Service Pack, you can download that from here: http://www.microsoft.com/en-us/download/details.aspx?id=43340

If you are looking for SQL Server 2012 Express with Service Pack 2, you can grab that here: http://www.microsoft.com/en-us/download/details.aspx?id=43351




Tuesday, July 1, 2014

Working with Mercurial and Visual Studio

If you currently use Mercurial as your source control repository, but you are working with Microsoft Visual Studio, you probably work primarily with command line operations as well as TortoiseHg to perform most of your operations within Visual Studio.

Well, fortunately, there is a Visual Studio plug-in for Mercurial to simplify your Mercurial operations!

The name of the tool is called VisualHG and is available as a free download from CodePlex: http://visualhg.codeplex.com/

If you have ever worked with VisualSVN, you probably know, that much like VisualSVN, it requires the Tortoise tool to work properly (in this case TortoiseHG).  You can download TortoiseHG from here: http://tortoisehg.bitbucket.org/

Using Resource Files in your ASP.NET Web Application

If you have ever read about Resource Files in the past, you may have heard of them in regards to being used for supporting Globalization in your application.

However, what you may not know, is that they can be used as a general method for storing any type of data that you want to keep from "hard coding" in your application!

For example, you probably have written at least one ASP.NET Web Application that provides confirmation messages or some other types of notifications to the end user when they perform operations in your application.  Most likely, you have directly added these strings into the code that you were using or even perhaps stored them as constants or static variables and then referenced them throughout your Web Application.

Well, fortunately, you can use Resource Files as an alternative to doing that!  The major benefit of doing this is that the Resource Files are STRONGLY TYPED, therefore, you can use them directly in your ASP.NET Web Application without doing anything complex to retrieve content out of them. 

Even better, you can store pretty much anything inside of resource files ranging from strings, images, icons, audio or files!!

  1. In order to get started with adding a resource file to your Application, you simply right-click and select Add-->New Item.  
  2. You then search for a Resources File.  Select it and give it a name.
  3. Once you have added the Resources File to your Web Application, you can begin adding content to it.  
  4. By default, you can add Strings resources to your file, but if you want to add other types of content, simply select from the Strings pull down menu and select the type of resource that you want to use instead.
  5. Then, when you want to reference the particular item from the Resource File in your application, you simply use the name of the resource file and the key in the resource file such as MyResourceFile.ConfirmationMessage.  
  6. That is all there is to it!!

PowerShell Web Access

With the release of Windows Server 2012, Microsoft provided a new capability called PowerShell Remote Web Access which basically provides a web front-end for running PowerShell scripts.  Unfortunately, this feature is unavailable for Windows Server 2008 R2. :-(

As you can probably guess, if you are a SharePoint Administrator, this becomes immensely useful since many administrative operations in SharePoint can ONLY be done in PowerShell.

You can read more about how to set up PowerShell Web Access here: http://technet.microsoft.com/en-us/library/hh831611.aspx

For information on how to use PowerShell Web Access, you can read that here: http://technet.microsoft.com/en-us/library/hh831417.aspx

"You may re-try the operation, and you may need to clean up the half-created data first" error message in SharePoint

I was recently setting up a SharePoint 2013 site and the site content managers wanted to move around some documents using the "Manage Content and Structure" capability within SharePoint.

Of course, after some time of moving files around, they received the following error message:

"The current operation could not be completed.  Try again, or contact your system administrator.  
Object reference not set to an instance of an object.
You may re-try the operation, and you may need to clean up the half-created data first before re-trying.  If the problem persists, please contact your system administrator."



Of course, after a brief search, I came across this article: http://support.microsoft.com/kb/2015265

Even though this article address SharePoint Server 2007 and SharePoint Server 2010, it appears that it still occurs/persists in SharePoint 2013!!

For some users, Site Collection Administration privileges needed to be assigned, however, some users had their issue resolved simply be re-booting their machine and actually re-trying the copy operation!