none
Does Windows HPC Server 2008 R2 Support .NET Framework 4? RRS feed

All replies

  • HPC Server 2008 R2 runs on .NET 3.5. But you can install .NET 4 with 3.5 side-by-side and run your application on .NET 4 w/o problem. HPC itself will run with 3.5 though.
    Tuesday, August 17, 2010 3:25 PM
  • If you are using the jobs+tasks portion of HPC, you are free to develop your command-line executable in .NET 4.0.

    If you are using the SOA portion of HPC, then things are more complicated. The HPC SOA host executable is built against .NET 3.5, meaning you CANNOT run a .NET 4.0 service. You can modify the configuration file to force it to run using the .NET 4.0 runtime (via the supportedRuntime element in the app.config file), which it seems to do fine, but bear in mind that designed-for-3.5-code running in a 4.0 host may not behave as expected; you will probably need to fully retest your service to ensure proper functioning.

    Monday, August 23, 2010 7:47 PM
  • I'm trying to run .NET 4.0 SOA job on HPC R2 Cluster. During this job all tasks fail with this output result:

    Could not load file or assembly 'file:///C:\Encoder\EncoderService.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

     

    Services and config files are deployed as it shown on MSDN:

    http://msdn.microsoft.com/en-us/library/cc853430%28v=VS.85%29.aspx

    and permissions for everyone for this files are set to allow read & execute.

     

    There is no supportedRuntime element in the service's app.config file:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <system.serviceModel>
            <bindings>
                <wsHttpBinding>
                    <binding name="WSHttpBinding_IService1" closeTimeout="00:01:00"
                        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                        bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                        maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                        messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                        allowCookies="false">
                        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                        <reliableSession ordered="true" inactivityTimeout="00:10:00"
                            enabled="false" />
                        <security mode="Message">
                            <transport clientCredentialType="Windows" proxyCredentialType="None"
                                realm="" />
                            <message clientCredentialType="Windows" negotiateServiceCredential="true"
                                algorithmSuite="Default" />
                        </security>
                    </binding>
                </wsHttpBinding>
            </bindings>
            <client>
                <endpoint address="http://localhost:8732/Design_Time_Addresses/EncoderService/Service1/"
                    binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IService1"
                    contract="EncoderService.IService1" name="WSHttpBinding_IService1">
                    <identity>
                        <dns value="localhost" />
                    </identity>
                </endpoint>
            </client>
        </system.serviceModel>
    </configuration>

    Where should I paste it, in order to I can launch my .NET 4.0 service on HPC R2 Cluster?

    Tuesday, October 26, 2010 5:22 PM
  • This article may solve this problem.

    Visual Studio 2010 and HPC Server 2008 R2

    Monday, November 1, 2010 4:23 PM
  • It is surprising and dissappointing that .NET 4.0 is not supported natively in HPC. HPC is going no where if Microsoft does not support all the new parallel programming and MPI features of .NET 4.0. There are books pushing .NET 4 and Parallel Programming (advertised as better than C++), but the premiere operating system, HPC 2008 R2 does not use it. Wish someone at Microsoft would explain what is going on, and when 4.0 will be supported. Until then, I guess I need to stop using HPC for my cluster.

     

    Thursday, December 30, 2010 1:30 PM
  • To make .Net 4.0 service work on Hpc R2 Cluster, you need to create an hpcservicehost.exe.config file to make it work. The file should contain this:

    <?xml version="1.0" encoding="utf-8" ?>

    <configuration>

      <startup>

        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>

      </startup>

    </configuration>

     You need to do this on all CN.

    Wednesday, January 5, 2011 10:12 AM