{"id":4765,"date":"2016-07-22T21:13:39","date_gmt":"2016-07-22T21:13:39","guid":{"rendered":"http:\/\/www.garysieling.com\/blog\/?p=4765"},"modified":"2016-07-22T21:13:39","modified_gmt":"2016-07-22T21:13:39","slug":"msbuild-make-embeddedresource-dependent-build-configuration","status":"publish","type":"post","link":"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/","title":{"rendered":"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration"},"content":{"rendered":"<p>If you use MSBuild (or Visual Studio) it&#8217;s sometimes helpful to make the files included in your project dependent on some external configuration (e.g. the environment or product version you&#8217;re targeting).<\/p>\n<p>To do this for embedded resources, you can add a &#8220;Choose&#8221; block to the build file, like so:<\/p>\n<pre lang=\"xml\">\n<Choose>\n  <When Condition=\"'$(Configuration)'=='dev-opt' OR '$(Configuration)'=='dev-dbg'\">\n    <ItemGroup>\n      <EmbeddedResource Include=\"resources\\env.xml\">\n        <LogicalName>com.garysieling.resources.env-dev.xml<\/LogicalName>\n      <\/EmbeddedResource>\n    <\/ItemGroup>\n  <\/When>\n<\/Choose>\n<\/pre>\n<p>Note that the LogicalName is what actually gets put in the output assembly. If you specify a package prefix for the project, you will probably want to put this into the logical name, because it doesn&#8217;t get included automatically.<\/p>\n<p>This assumes you&#8217;ve added build configurations to the project for the different options you want. This will take one of several files, and include them as the same name, no matter what environment you picked.<\/p>\n<p>You can also do this with DLL references:<\/p>\n<pre lang=\"xml\">\n<Reference Include=\"Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL\" Condition=\"'$(Configuration)'=='dev-opt' OR '$(Configuration)'=='dev-dbg'\">\n  <SpecificVersion>False<\/SpecificVersion>\n  <HintPath>..\\libs\\dotnet20\\sp2007\\Microsoft.SharePoint.dll<\/HintPath>\n  <Private>False<\/Private>\n<\/Reference>\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>How to make Visual Studio projects conditionally include files or DLL references, based on the build configuration<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[4],"tags":[372],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"How to make Visual Studio projects conditionally include files or DLL references, based on the build configuration\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"gary\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Gary Sieling - Software Engineer\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration - Gary Sieling\" \/>\n\t\t<meta property=\"og:description\" content=\"How to make Visual Studio projects conditionally include files or DLL references, based on the build configuration\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2016-07-22T21:13:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2016-07-22T21:13:39+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration - Gary Sieling\" \/>\n\t\t<meta name=\"twitter:description\" content=\"How to make Visual Studio projects conditionally include files or DLL references, based on the build configuration\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/msbuild-make-embeddedresource-dependent-build-configuration\\\/#blogposting\",\"name\":\"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration - Gary Sieling\",\"headline\":\"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration\",\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"},\"datePublished\":\"2016-07-22T21:13:39+00:00\",\"dateModified\":\"2016-07-22T21:13:39+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/msbuild-make-embeddedresource-dependent-build-configuration\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/msbuild-make-embeddedresource-dependent-build-configuration\\\/#webpage\"},\"articleSection\":\"Code Examples, msbuild\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/msbuild-make-embeddedresource-dependent-build-configuration\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/code-examples\\\/#listItem\",\"name\":\"Code Examples\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/code-examples\\\/#listItem\",\"position\":2,\"name\":\"Code Examples\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/code-examples\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/msbuild-make-embeddedresource-dependent-build-configuration\\\/#listItem\",\"name\":\"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/msbuild-make-embeddedresource-dependent-build-configuration\\\/#listItem\",\"position\":3,\"name\":\"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/code-examples\\\/#listItem\",\"name\":\"Code Examples\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/\",\"name\":\"gary\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/msbuild-make-embeddedresource-dependent-build-configuration\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"gary\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/msbuild-make-embeddedresource-dependent-build-configuration\\\/#webpage\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/msbuild-make-embeddedresource-dependent-build-configuration\\\/\",\"name\":\"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration - Gary Sieling\",\"description\":\"How to make Visual Studio projects conditionally include files or DLL references, based on the build configuration\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/msbuild-make-embeddedresource-dependent-build-configuration\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"datePublished\":\"2016-07-22T21:13:39+00:00\",\"dateModified\":\"2016-07-22T21:13:39+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration - Gary Sieling","description":"How to make Visual Studio projects conditionally include files or DLL references, based on the build configuration","canonical_url":"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/#blogposting","name":"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration - Gary Sieling","headline":"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration","author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"},"datePublished":"2016-07-22T21:13:39+00:00","dateModified":"2016-07-22T21:13:39+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/#webpage"},"isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/#webpage"},"articleSection":"Code Examples, msbuild"},{"@type":"BreadcrumbList","@id":"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.garysieling.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/code-examples\/#listItem","name":"Code Examples"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/code-examples\/#listItem","position":2,"name":"Code Examples","item":"https:\/\/www.garysieling.com\/blog\/category\/code-examples\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/#listItem","name":"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/#listItem","position":3,"name":"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration","previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/code-examples\/#listItem","name":"Code Examples"}}]},{"@type":"Organization","@id":"https:\/\/www.garysieling.com\/blog\/#organization","name":"Gary Sieling","description":"Software Engineer","url":"https:\/\/www.garysieling.com\/blog\/"},{"@type":"Person","@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author","url":"https:\/\/www.garysieling.com\/blog\/author\/gary\/","name":"gary","image":{"@type":"ImageObject","@id":"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g","width":96,"height":96,"caption":"gary"}},{"@type":"WebPage","@id":"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/#webpage","url":"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/","name":"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration - Gary Sieling","description":"How to make Visual Studio projects conditionally include files or DLL references, based on the build configuration","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/#breadcrumblist"},"author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"creator":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"datePublished":"2016-07-22T21:13:39+00:00","dateModified":"2016-07-22T21:13:39+00:00"},{"@type":"WebSite","@id":"https:\/\/www.garysieling.com\/blog\/#website","url":"https:\/\/www.garysieling.com\/blog\/","name":"Gary Sieling","description":"Software Engineer","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Gary Sieling - Software Engineer","og:type":"article","og:title":"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration - Gary Sieling","og:description":"How to make Visual Studio projects conditionally include files or DLL references, based on the build configuration","og:url":"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/","article:published_time":"2016-07-22T21:13:39+00:00","article:modified_time":"2016-07-22T21:13:39+00:00","twitter:card":"summary_large_image","twitter:title":"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration - Gary Sieling","twitter:description":"How to make Visual Studio projects conditionally include files or DLL references, based on the build configuration"},"aioseo_meta_data":{"post_id":"4765","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2023-02-04 17:01:58","updated":"2026-07-06 02:08:32","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\/category\/code-examples\/\" title=\"Code Examples\">Code Examples<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tMSBuild: How to make EmbeddedResource and file includes dependent on build configuration\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.garysieling.com\/blog"},{"label":"Code Examples","link":"https:\/\/www.garysieling.com\/blog\/category\/code-examples\/"},{"label":"MSBuild: How to make EmbeddedResource and file includes dependent on build configuration","link":"https:\/\/www.garysieling.com\/blog\/msbuild-make-embeddedresource-dependent-build-configuration\/"}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/4765"}],"collection":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/comments?post=4765"}],"version-history":[{"count":0,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/4765\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/media?parent=4765"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/categories?post=4765"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/tags?post=4765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}