1# System.Net Test Prerequisites
2Contains source files for the networking test servers in Azure or a private IIS deployment.
3
4## Deployment Instructions for a private multi-machine environment
5
6### Configuration
7
81. Open .\Deployment\config.ps1 in an editor.
92. Fill in the _Machine Selection_ section with the names and IP addresses of the target machines. In most cases the default options for _Test Parameters_ should be enough.
10
11Note: the `config.ps1` file has been added to .gitignore to prevent it being updated in the master branch.
12
13### Build the server applications
14
15Prepare the $COREFX_NET_CLIENT_Machine as any Dev station following the instructions at https://github.com/dotnet/corefx/blob/master/Documentation/building/windows-instructions.md. Ensure that you can build and test CoreFX on this machine.
16In addition, you will also need to install the _Azure development_ workload for Visual Studio 2017.
17
18From a Visual Studio command prompt:
19
20```
21    powershell
22    cd .\Servers
23    .\buildAndPackage.ps1
24```
25
26You should now find a folder named `IISApplications` within the Deployment folder.
27
28### (only once) Create the Active Directory and join all machines
29
30Skip this step if previously completed and all machines are already part of a domain to which you have Administrator rights.
31This will join all machines to a test Active Directory and enable Windows Remoting.
32
331. Copy the Deployment folder to each of the machines.
342. Run the .\setup.ps1 script on the machine designated to become the Domain Controller. Once complete, the machine will reboot.
353. Run the .\setup.ps1 script on all other domain joined machines. Once complete, the machines will reboot.
36
37### Install or Update the environment
38
39Running as the Active Directory Administrator, run .\setup.ps1 from any of the machines within the environment.
40The script will use WinRM to connect and update all other roles.
41
42## Deployment Instructions to update the Azure-based environment
43
441. Create a _Classic_ Azure WebService role.
452. Create a server certificate and add it to the subscription with the name: `CoreFxNetCertificate`
463. Edit `Servers\CoreFxNetCloudService\CoreFxNetCloudService\ServiceConfiguration.Cloud.cscfg` and ensure that the `CoreFxNetCertificate` `thumbprint` and `thumbprintAlgorithm` are correct.
474. Open the solution in Visual Studio and Run the Azure Publishing wizard to create and deploy the application.
48