{"id":13629535,"url":"https://github.com/zeroc-ice/ice-builder-visualstudio","last_synced_at":"2026-01-21T21:12:21.678Z","repository":{"id":29080352,"uuid":"32608500","full_name":"zeroc-ice/ice-builder-visualstudio","owner":"zeroc-ice","description":"Configure Ice Builder for MSBuild from Visual Studio","archived":false,"fork":false,"pushed_at":"2025-12-17T10:33:43.000Z","size":3126,"stargazers_count":31,"open_issues_count":11,"forks_count":23,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-12-20T00:13:25.138Z","etag":null,"topics":["ice-builder","slice2cpp","slice2cs","visual-studio"],"latest_commit_sha":null,"homepage":"https://zeroc.com","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zeroc-ice.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-03-20T21:40:33.000Z","updated_at":"2025-12-17T10:33:48.000Z","dependencies_parsed_at":"2022-09-01T04:31:44.795Z","dependency_job_id":"0d386f5d-a89a-48be-bac0-0f903ef42f08","html_url":"https://github.com/zeroc-ice/ice-builder-visualstudio","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/zeroc-ice/ice-builder-visualstudio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroc-ice%2Fice-builder-visualstudio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroc-ice%2Fice-builder-visualstudio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroc-ice%2Fice-builder-visualstudio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroc-ice%2Fice-builder-visualstudio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zeroc-ice","download_url":"https://codeload.github.com/zeroc-ice/ice-builder-visualstudio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroc-ice%2Fice-builder-visualstudio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28643103,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T18:04:35.752Z","status":"ssl_error","status_checked_at":"2026-01-21T18:03:55.054Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ice-builder","slice2cpp","slice2cs","visual-studio"],"created_at":"2024-08-01T22:01:13.054Z","updated_at":"2026-01-21T21:12:21.673Z","avatar_url":"https://github.com/zeroc-ice.png","language":"C#","funding_links":[],"categories":["C#"],"sub_categories":[],"readme":"# Ice Builder for Visual Studio \u003c!-- omit in toc --\u003e\n\nIce Builder for Visual Studio is a Visual Studio extension that configures Slice MSBuild tasks for your C++ and C#\nprojects directly within the Visual Studio IDE. It serves as a front-end for the Slice MSBuild tasks; all build-time\nprocessing is performed by these MSBuild tasks.\n\nIce Builder for Visual Studio is compatible with Visual Studio 2022 and 2026, and requires Ice 3.7 or 3.8 for C++\nor C#.\n\n- [Installation](#installation)\n- [Feedback](#feedback)\n- [Configuration](#configuration)\n- [C++ Projects](#c-projects)\n- [C# Projects](#c-projects-1)\n- [Updating from older versions](#updating-from-older-versions)\n- [Building Ice Builder for Visual Studio from Source](#building-ice-builder-for-visual-studio-from-source)\n  - [Build Requirements](#build-requirements)\n  - [Build Instructions](#build-instructions)\n\n## Installation\n\nThe latest version of Ice Builder for Visual Studio is published in the [Visual Studio Marketplace] and can be\ninstalled directly through Visual Studio’s **Extensions → Manage Extensions** dialog.\n\n## Feedback\n\nWe encourage you to [rate and review] Ice Builder for Visual Studio on the Visual Studio Marketplace. Your feedback\nhelps us improve the extension.\n\nYou can also report issues [here on GitHub], and ask questions on Ice Builder for Visual Studio's [Q \u0026 A] page.\n\n## Configuration\n\nIce Builder for Visual Studio configures Slice compilation for your C++ and C# projects inside the Visual Studio IDE.\nThe options depend on your project’s target language and the version of Ice you are using.\n\n\u003cfigure\u003e\n   \u003cimg src=\"Screenshots/ice-builder-options-vs2026.png\" alt=\"Ice Builder Options for VS2026\"/\u003e\n   \u003cfigcaption\u003eVisual Studio 2026: use Tools \u003e Options \u003e Project and Solutions \u003e More Settings \u003e Ice Builder\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n\n\u003cfigure\u003e\n   \u003cimg src=\"Screenshots/ice-builder-options-vs2022.png\" alt=\"Ice Builder Options for VS2022\"/\u003e\n   \u003cfigcaption\u003eVisual Studio 2022: use Tools \u003e Options \u003e Project and Solutions \u003e Ice Builder\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cbr\u003e\u003cbr\u003e\n\n***Compile on Save***\n\nIf you check the box _Compile Slice files immediately after save_ Ice Builder compiles a Slice file when you save it;\notherwise, it compiles Slice files only when you build the project.\n\n## C++ Projects\n\nAdd the required NuGet packages to your C++ project:\n\n| C++ Project using Ice 3.8 | C++ Project using Ice 3.7  |\n|---------------------------|----------------------------|\n| [ZeroC.Ice.Cpp]           | [ZeroC.IceBuilder.MSBuild] |\n|                           | [ZeroC.Ice.V143]           |\n\nAfter the required NuGet packages are installed, the Ice Builder for Visual Studio extension provides a dedicated\nOptions page for configuring Slice compilation for your C++ project.\n\n\u003cfigure\u003e\n   \u003cimg src=\"Screenshots/cpp-options-38.png\" alt=\"C++ Options for Ice 3.8\"/\u003e\n   \u003cfigcaption\u003eOptions for Ice 3.8\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n\n\u003cfigure\u003e\n   \u003cimg src=\"Screenshots/cpp-options-37.png\" alt=\"C++ Options for Ice 3.7\"/\u003e\n   \u003cfigcaption\u003eOptions for Ice 3.7\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cbr\u003e\u003cbr\u003e\n\nThese options map to the item metadata of the `SliceCompile` type:\n\n| Property                              | Corresponding SliceCompile Item Metadata | Notes            |\n| ------------------------------------- | ---------------------------------------- |------------------|\n| Output Directory                      | OutputDir                                |                  |\n| Header Output Directory               | HeaderOutputDir                          |                  |\n| Include Directories                   | IncludeDirectories                       |                  |\n| Base Directory For Generated #include | BaseDirectoryForGeneratedInclude         |                  |\n| Generated Header Extension            | HeaderExt                                |                  |\n| Generated Source Extension            | SourceExt                                |                  |\n| Additional Options                    | AdditionalOptions                        |                  |\n| C++ Mapping                           | IceCppMapping **Project property**       | Only for Ice 3.7 |\n\nThe Ice Builder for Visual Studio extension creates a **Slice** file filter in the Solution Explorer. We recommend adding\nyour Slice (`.ice`) files to this filter for convenience, but you may place Slice files in any filter within your project.\n\nThe extension also provides a **Slice** item template that you can use to add new Slice files to your project.\n\n![cpp new slice file](Screenshots/cpp-new-slice-file.png)\n\nYou can also add existing Slice files using the **Add \u003e Existing Item...** context menu command.\n\nThe extension automatically sets the **Item Type** property of added Slice files to `SliceCompile`, which enables Slice\ncompilation for those files.\n\nThe extension adds a `CLCompile` item for each generated C++ source file and a `CLInclude` item for each generated C++\nheader file, ensuring the C++ code generated from the Slice definitions is compiled along your project C++ sources.\nThese generated files are placed in the output directories specified in the Slice compilation options.\n\nThe generated items are added when you first build the project—or, if the **Compile Slice files immediately after save**\noption is enabled, when you save the Slice file.\n\nBy default, generated files are placed in `$(IntDir)`, the intermediate directory for the current build configuration and\nplatform.\n\nTo configure the Slice compilation options for a specific Slice file, right-click the file in Solution Explorer and\nselect **Properties**. The **Slice Compile** property page will appear in the Properties window.\n\n![cpp slice file properties](Screenshots/cpp-slice-file-properties.png)\n\nThe per-file options override the global project options configured in the Ice Builder options page described above.\n\n## C# Projects\n\nAdd the required NuGet packages to your C# project:\n\n| C# Project using Ice 3.8 | C# Project using Ice 3.7   |\n|--------------------------|----------------------------|\n| [ZeroC.Ice.Slice.Tools]  | [ZeroC.IceBuilder.MSBuild] |\n| [ZeroC.Ice]              | [ZeroC.Ice.Net]            |\n\n\u003e For .NET Framework projects, you must reload the project before the Ice Builder options become available and allow\n\u003e you to change the Slice compilation settings.\n\n\u003cfigure\u003e\n   \u003cimg src=\"Screenshots/cs-options-37-1.png\" alt=\".NET SDK-style project options\"/\u003e\n   \u003cfigcaption\u003e.NET SDK-style project options\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n\n\u003cfigure\u003e\n   \u003cimg src=\"Screenshots/cs-options-37-2.png\" alt=\".NET Framework-style project options\"/\u003e\n   \u003cfigcaption\u003e.NET Framework-style project options\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cbr\u003e\u003cbr\u003e\n\nThese options are the same for all configurations and platforms and map to item metadata of the `SliceCompile` type:\n\n| Property            | Corresponding SliceCompile Item Metadata |\n| ------------------- | ---------------------------------------- |\n| Output Directory    | OutputDir                                |\n| Include Directories | IncludeDirectories                       |\n| Additional Options  | AdditionalOptions                        |\n\nYou can add new Slice files to your C# project using the **Add \u003e New Item...**\n\n![cs new slice file](Screenshots/cs-new-slice-file.png)\n\nOr add existing Slice files using the **Add \u003e Existing Item...** context menu command.\n\n## Updating from older versions\n\nThe Ice Builder for Visual Studio 7.x release is compatible with Ice Builder for Visual Studio 6.x and 5.x, If your\nproject was created with Ice Builder for Visual Studio 6.x or 5.x, it will continue to work without any modifications.\n\nIf you are upgrading from Ice Builder for Visual Studio 4.x or earlier, you will need to first use the Ice Builder for Visual Studio\n6.x extension to update your projects. See [Upgrading your Projects from Ice Builder 4.x] for more information.\n\n## Building Ice Builder for Visual Studio from Source\n\n### Build Requirements\n\n- Visual Studio 2026\n\n### Build Instructions\n\n1. Open the `IceBuilder.sln` solution file in Visual Studio 2026.\n2. Build the `IceBuilder` project.\n\nAfter the build completes, the generated VSIX package will be located in:\n\n- `IceBuilder\\bin\\Debug\\IceBuilder.vsix`, or\n- `IceBuilder\\bin\\Release\\IceBuilder.vsix`\n\n[here on GitHub]: https://github.com/zeroc-ice/ice-builder-visualstudio/issues\n[Q \u0026 A]: https://marketplace.visualstudio.com/items?itemName=ZeroCInc.IceBuilder2022#qna\n[rate and review]: https://marketplace.visualstudio.com/items?itemName=ZeroCInc.IceBuilder2022#review-details\n[Visual Studio Marketplace]: https://marketplace.visualstudio.com/items?itemName=ZeroCInc.IceBuilder2022\n[Upgrading your Projects from Ice Builder 4.x]: https://github.com/zeroc-ice/ice-builder-visualstudio/tree/v6.0.4?tab=readme-ov-file#upgrading-your-projects-from-ice-builder-4x\n[ZeroC.Ice.Cpp]: https://www.nuget.org/packages/ZeroC.Ice.Cpp/\n[ZeroC.Ice.Net]: https://www.nuget.org/packages/ZeroC.Ice.Net/\n[ZeroC.Ice.Slice.Tools]: https://www.nuget.org/packages/ZeroC.Ice.Slice.Tools/\n[ZeroC.Ice.V143]: https://www.nuget.org/packages/ZeroC.Ice.V143/\n[ZeroC.IceBuilder.MSBuild]: https://www.nuget.org/packages/ZeroC.IceBuilder.MSBuild/\n[ZeroC.Ice]: https://www.nuget.org/packages/ZeroC.Ice/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeroc-ice%2Fice-builder-visualstudio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeroc-ice%2Fice-builder-visualstudio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeroc-ice%2Fice-builder-visualstudio/lists"}