diff options
author | Jose <jose@zeroc.com> | 2016-04-22 22:39:05 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2016-04-22 22:39:05 +0200 |
commit | 9df1e81303390912e7a49b370d18e4fcf2559ec3 (patch) | |
tree | 617ebca790c215f81cb0afb45a6701d51e27f50d /csharp/BuildInstructions.md | |
parent | ICE-6861 - JavaScript stream changes (diff) | |
download | ice-9df1e81303390912e7a49b370d18e4fcf2559ec3.tar.bz2 ice-9df1e81303390912e7a49b370d18e4fcf2559ec3.tar.xz ice-9df1e81303390912e7a49b370d18e4fcf2559ec3.zip |
Update csharp builds to use MSbuild
Diffstat (limited to 'csharp/BuildInstructions.md')
-rw-r--r-- | csharp/BuildInstructions.md | 61 |
1 files changed, 9 insertions, 52 deletions
diff --git a/csharp/BuildInstructions.md b/csharp/BuildInstructions.md index 354828a7c84..06de0dfd57c 100644 --- a/csharp/BuildInstructions.md +++ b/csharp/BuildInstructions.md @@ -11,12 +11,15 @@ for the supported platforms. Ice for .NET was extensively tested using the operating systems and compiler versions listed for our [supported platforms][2]. +The build requires the [Ice Builder for Visual Studio][8], you must install +version 4.2.0 or greater to build Ice. + ### Slice to C# Translator You will need the Slice to C# translator. ZeroC provides translator binaries for our supported platforms, or you can build Ice for C++ (which contains the Slice to C# translator) from source. - + ## Compiling Ice for .NET with Visual Studio ### Preparing to Build @@ -29,16 +32,13 @@ environment variable with the path name of your Ice installation: ### Building Ice for .NET -Open a Visual Studio command window and change to the `csharp` subdirectory: +Open a Visual Studio command prompt and change to the `csharp` subdirectory: - > cd csharp - -Review the settings in the file `config\Make.rules.mak.cs` and edit as -necessary. For example, you may wish to enable optimization. + cd csharp To build the Ice assemblies, services and tests, run - > nmake /f Makefile.mak + Msbuild msbuild\ice.proj Upon completion, the Ice assemblies are placed in the `Assemblies` subdirectory. @@ -82,56 +82,13 @@ Windows, the `<prefix>\bin\x64` directory must appear before `<prefix>\bin` in your application's PATH. (The Ice run time prints a warning to the console if it detects a `bzip2.dll` format mismatch during start-up.) -## Installing Ice for .NET - -Run `nmake /f Makefile.mak install` to install Ice for .NET in the directory -specified by the `prefix` variable in `config\Make.rules.mak.cs`. After -installation, the `<prefix>\bin` directory contains executables (such as -`iceboxnet.exe`), and the `<prefix>\Assemblies` directory contains the .NET -assemblies. - -> *This command must be executed in a command prompt that has administrative -privileges because it requires write access to the registry to register the -assemblies.* - -## GAC Installation - -You can add the assemblies to the Global Assembly Cache (GAC). To do this, open -Windows Explorer and navigate to the directory `C:\WINDOWS\assembly`. Next, drag -and drop (or copy and paste) the assemblies from the `Assemblies` subdirectory -of your Ice source build into the right-hand pane to install them in the cache. - -You can also use `gacutil` from the command line to achieve the same result: - - > gacutil /i library.dll - -The `gacutil` tool should already be in your PATH if you open a Visual Studio -command prompt. - -Once installed in the cache, the assemblies will always be located correctly -without having to set environment variables or copy them into the same directory -as an executable. - -If you want line numbers for stack traces, you will also need to deploy the Ice -PDB files alongside the assemblies or configure Visual Studio to locate them. - ## Targeting Managed Code -By default, Ice for .NET uses unmanaged code for performing protocol compression -and for handling signals in the `Ice.Application` class. You can build a managed -version of Ice for .NET that lacks the aforementioned features by editing -`config/Make.rules.mak.cs` and uncommenting the `MANAGED=yes` line before you -build. Run nmake to start the build: - - > nmake /f Makefile.mak +TODO ## Targeting Unity -Ice for .NET can also be compiled to target the Unity API. To build Ice for the -Unity API, open `config\Make.rules.mak.cs` and set `UNITY=yes`. Run nmake as -before: - - > nmake /f Makefile.mak +TODO [1]: https://zeroc.com/download.html [2]: https://doc.zeroc.com/display/Ice37/Supported+Platforms+for+Ice+3.7.0 |