Microsoft .NET Framework SDK 2.0 and the Agile Platform

Why does the Agile Platform requires Microsoft .NET Framework SDK?
The Microsoft .NET Framework SDK is installed in the Platform Server server with the Deployment Controller role and used during the upgrade of extensions. This means that this component is only required when an extension of an older version of the Agile platform is published directly in Service Center.

Why is the component used?
The Microsoft .NET Framework SDK is used to reflect back the extensions code in order for them to be rebuilt. This is only needed for extensions where the source code is not included - mostly felt in some extensions provided by OutSystems. 

What if I see a publish message regarding Microsoft .NET Framework SDK?
When publishing an extension through Service Center, a Compiler Output message sometimes is displayed:

.NET Compilation.

Could not locate the expected version of the Microsoft .NET Framework SDK. Looked for a location specified in the "InstallationFolder" value of the registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\.NET Framework\v6.0A". If your build process does not need the SDK then this can be ignored. Otherwise you can solve the problem by doing one of the following: 1) Install the Microsoft .NET Framework SDK for .NET Framework Server 2008 and .NET Framework 3.5. 2) Install Visual Studio 2008. 3) Manually set the above registry key to the correct location.
JSTree -> C:\.NET Framework\TEMP\3797097b-cd61-4af3-aa66-c1aab09e750f\JSTree\Source\NET\bin\OutSystems.NssJSTree.dll.

This message is just a warning referring to some registry keys which were not found, but the extension will still be successfully published, because the .NET framework will fallback to its default values, which are the ones used during the installation.

If the SDK is really required and not found in the server an error similar to this can be seen:

To upgrade extensions that do not include source code, please install the .NET Framework 2.0 SDK in the machine where you're upgrading the extension (either the Deployment Controller Server or your local machine).

If you experience this error you need to install the Microsoft .NET Framework 2.0 SDK according to the instructions in the Agile Platform Installation Checklist.

If you have any questions or want to add any additional information please feel free to comment.

Best regards,
Renato Gonçalves
Hi everyone

I would like to add to what Renato says above: this seems to be a bug in the SDK installation process itself. Check the below text (content available in this link from Microsoft:

5.4.10         During the Build of a .NET Framework 3.0 or 3.5 Sample in the SDK Build Environment, Al.exe Might Not Be Found
When building a .NET Framework 3.0 or 3.5 sample in the SDK build environment, Al.exe is not found. (The ALTOOLPATH variable is set by Visual Studio 2005 to point to the .NET Framework 2.0 SDK, included with Visual Studio 2005.) You might receive this error:
Could not locate the .NET Framework SDK. The task is looking for the path t o the .NET Framework SDK at the location specified in the SDKInstallRootv2.0 value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework. You may be able to solve the problem by doing one of the following: 1. ) Install the .NET Framework SDK. 2.) Manually set the above registry key to the correct location.
To workaround this issue, set the ALTOOLPATH environment variable to point to the version of Al.exe that ships in this Windows SDK. You can set ALTOOLPATH for an individual session using the Set command, or set the environment variable permanently at Start Control Panel System. On the Advanced tab, click the Environment Variables button. In the System variables area, click New. Add the variable name ALTOOLPATH with a Variable Value of one of the following:
·         For X86 computers: C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin
·         For x64 computers: C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\x64
·         For IA64 computers: C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\IA64
If you want to set the ALTOOLPATH for only the current session, use the following command:
On an X86 computer:
msbuild /p:ALToolPath="C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin
On an X64 or IA64 computer:
msbuild /p:ALToolPath="C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\X64
As Renato said originally, if you only get a warning you may simply ignore this message; if you want to get rid of it, you might want to try the sugestion above.