Setting up a build server on a new install of Windows Server 2012 R2 and ran into the following warning when building the projects:
Warning MSB3644 - The reference assemblies for framework ".NETFramework,Version=v4.5" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend.
The build server was a fresh machine and the issue was Visual Studio 2013 needing to be installed on the server. Installing Visual Studio Professional 2013 without any options resolved the issue.
- Under optional Features uncheck all the options to speed up the install.
Installing CruiseControl.NET on a new server and ran into an issue with CruiseControl.NET pulling from the Vault server. I found the following error in the CruiseControl.NET Log:
[PROJECT:ERROR] Vault Standard Login Failed Twice.:The server uses a protocol that is not supported by this client.
Vault Standard Login Failed: The server uses a protocol that is not supported by this client.
The problem turned out to be an incorrect version of the Vault CruiseControl.net Plug-In. I had accidentally grabbed the latest version (7.0) but the Vault server is running an older version of Vault (6.1). The older version could be found on the Previous Vault Downloads page. Installing the correct version of the Vault plugin to match the Vault server solved the problem.
When running a new Windows Server 2012 R2 server install, Internet Explorer is locked down and you will end up getting prompted multiple times when visiting sites and most likely you will not be able to download any setup files:
---------------------------
Security Alert
---------------------------
Your current security settings do not allow this file to be downloaded.
---------------------------
OK
---------------------------
Follow the steps below to modify the default Internet Explorer security settings to bring it down to a level which is more realistic for system administrator tasks:
- Disable Internet Explorer Enhanced Security Configuration
- Open Server Manager > Local Server
- Click on IE Enhanced Security Configuration:
- Within the dialog switch IE Enhanced Security off for both Administrators and Users (you will turn it back on for Users later).
- Modify Security Settings in Internet Explorer
- Open Internet Explorer > Internet Options
- Change to the Security tab and move the slider to “Medium-high” and uncheck the “Enable Protected Mode” checkbox.
- Medium-high enables file downloads which is pretty important for system administrators
- Note: It was necessary to turn off Internet Explorer Enhanced Security for “Users” in order to move the security level slider. If the slider is disabled check to make sure Internet Explorer Enhanced Security is disabled for both Users and Administrators.
- Ok you way out of here and then close Internet Explorer.
- Note: Since this is a server there may be other users logged on. It may be necessary to sign out those users and then close any other instances of Internet Explorer from Task Manager to get these security settings to be applied.
- Turn on Internet Explorer Enhanced Security for Users
- It is a good idea to enabled Internet Explorer Enhanced Security for Users who may use this machine. Return back to the Local Server Manager dashboard and enable it for just Users:
Now you will no longer be prompted multiple times when browsing a site in Internet Explorer and you will also be able to download install files.
I was converting a self-hosted ASP.NET Web API application from Microsoft ASP.NET Web API Self Host to use OWIN Self Hosting. Everything went find until I tried to add the route configuration to the OWIN pipeline. Samples I found indicate all you have to do is call “UseWebApi” but the IAppBuilder.UseWebApi method did not resolve for me:
After some searching around I found that you will need to import the Microsoft ASP.NET Web API 2 OWIN Self-Host Nuget package.
I didn’t realize that there was a separate Nuget package if you wanted to combine OWIN and ASP.NET Web API. It was a simple solution and honestly now that I think about it, should have been one of the first things I checked. This post is for the next person that runs into this issue.