{
    "api_version": "1",
    "kind": "dse_post",
    "self": "https://update.dsesecurity.com/api/v1/posts/dse-20260909-320-correct-artifact-path-joining-when-an-existing-visual-studio-project-adopts-the-az/",
    "item": {
        "id": "https://update.dsesecurity.com/updates/dse-20260909-320-correct-artifact-path-joining-when-an-existing-visual-studio-project-adopts-the-az/",
        "slug": "dse-20260909-320-correct-artifact-path-joining-when-an-existing-visual-studio-project-adopts-the-az",
        "url": "https://update.dsesecurity.com/updates/dse-20260909-320-correct-artifact-path-joining-when-an-existing-visual-studio-project-adopts-the-az/",
        "alternate_urls": {
            "markdown": "https://update.dsesecurity.com/updates/dse-20260909-320-correct-artifact-path-joining-when-an-existing-visual-studio-project-adopts-the-az.md",
            "json": "https://update.dsesecurity.com/api/v1/posts/dse-20260909-320-correct-artifact-path-joining-when-an-existing-visual-studio-project-adopts-the-az/"
        },
        "title": "Correct artifact-path joining when an existing Visual Studio project adopts the Az script",
        "summary": "What packageUri adjustment accompanies the documented Az deployment script for an existing Visual Studio resource-group project?",
        "format": {
            "slug": "guide",
            "name": "Guide"
        },
        "priority": {
            "slug": "info",
            "name": "Information"
        },
        "featured": false,
        "image": {
            "theme": "network-infrastructure",
            "label": "Networks & infrastructure",
            "alt": "Resilient network core with engineered blue and gold data paths.",
            "card_url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-card.webp?v=1.8.20",
            "hero_url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-hero.webp?v=1.8.20",
            "social_url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-social-v2.jpg?v=1.8.20",
            "width": 2400,
            "height": 1350
        },
        "topics": [
            {
                "slug": "it",
                "name": "IT",
                "url": "https://update.dsesecurity.com/topic/it/"
            },
            {
                "slug": "networks-infrastructure",
                "name": "Networks & Infrastructure",
                "url": "https://update.dsesecurity.com/topic/networks-infrastructure/"
            }
        ],
        "author": {
            "name": "DSE Security Editorial Team",
            "url": "https://update.dsesecurity.com/#editorial-team",
            "type": "Organization"
        },
        "publisher": {
            "name": "Detection Systems & Engineering",
            "url": "https://dsesecurity.com/"
        },
        "published_at": "2026-09-10T00:26:36+00:00",
        "modified_at": "2026-09-10T01:40:03+00:00",
        "reviewed_on": "2026-09-09",
        "reading_minutes": 2,
        "word_count": 235,
        "potentially_affected": "Existing Visual Studio Azure Resource Group projects in extended support, moving to the documented Az-module deployment script.",
        "dse_recommendation": "DSE recommends checking the composed package address when adapting the existing project to the Az script.",
        "primary_source": {
            "name": "Create & deploy Visual Studio resource group projects - Azure Resource Manager | Microsoft Learn",
            "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/create-visual-studio-deployment-project",
            "published_on": null,
            "authority": "Microsoft Learn"
        },
        "publishing_principles": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
        "usage_info": "https://update.dsesecurity.com/usage/",
        "copyright_notice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
        "content_html": "<h2>Source facts</h2>\n<p>Microsoft&#8217;s Azure Resource Group project for Visual Studio is in extended support. Its documented Az-module deployment script runs from a PowerShell console rather than Visual Studio&#8217;s deployment interface. That script adds a trailing slash to the artifacts location, so the template must not add another slash before its package-folder component. The project must then be rebuilt to populate the staging folder. <a href=\"https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/create-visual-studio-deployment-project\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft Learn</a>.</p>\n<h2>Applicability</h2>\n<p>Apply this review to maintenance of an existing project using the documented script. It is not a recommendation to start a new AzureRM deployment workflow. Identify the script actually invoked, the template&#8217;s packageUri expression and the package path recorded by the project reference.</p>\n<h2>DSE recommendation</h2>\n<p>DSE recommends checking the composed package address when adapting the existing project to the Az script. Review the separator between the artifacts location and package folder, then confirm that the folder and filename match the staged output. Do not solve a path-joining error by broadening storage access or copying credentials into the template. Keep the migration change limited and reproducible.</p>\n<h2>Verification</h2>\n<p>Rebuild an approved test project and inspect the staging directory before deployment. Verify that the constructed address identifies the intended package, using sanitized evidence that omits any access token. Run the documented console-based deployment and check the resulting application content, not merely resource creation. Preserve the exact script and template versions alongside the tested path construction.</p>\n<h2>Official references</h2>\n<p><a href=\"https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/create-visual-studio-deployment-project\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft Learn</a>. Source retrieved September 9, 2026.</p>",
        "content_text": "Source facts\nMicrosoft’s Azure Resource Group project for Visual Studio is in extended support. Its documented Az-module deployment script runs from a PowerShell console rather than Visual Studio’s deployment interface. That script adds a trailing slash to the artifacts location, so the template must not add another slash before its package-folder component. The project must then be rebuilt to populate the staging folder. Microsoft Learn.\nApplicability\nApply this review to maintenance of an existing project using the documented script. It is not a recommendation to start a new AzureRM deployment workflow. Identify the script actually invoked, the template’s packageUri expression and the package path recorded by the project reference.\nDSE recommendation\nDSE recommends checking the composed package address when adapting the existing project to the Az script. Review the separator between the artifacts location and package folder, then confirm that the folder and filename match the staged output. Do not solve a path-joining error by broadening storage access or copying credentials into the template. Keep the migration change limited and reproducible.\nVerification\nRebuild an approved test project and inspect the staging directory before deployment. Verify that the constructed address identifies the intended package, using sanitized evidence that omits any access token. Run the documented console-based deployment and check the resulting application content, not merely resource creation. Preserve the exact script and template versions alongside the tested path construction.\nOfficial references\nMicrosoft Learn. Source retrieved September 9, 2026.",
        "content_markdown": "## Source facts\n\nMicrosoft’s Azure Resource Group project for Visual Studio is in extended support. Its documented Az-module deployment script runs from a PowerShell console rather than Visual Studio’s deployment interface. That script adds a trailing slash to the artifacts location, so the template must not add another slash before its package-folder component. The project must then be rebuilt to populate the staging folder. [Microsoft Learn](https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/create-visual-studio-deployment-project).\n\n## Applicability\n\nApply this review to maintenance of an existing project using the documented script. It is not a recommendation to start a new AzureRM deployment workflow. Identify the script actually invoked, the template’s packageUri expression and the package path recorded by the project reference.\n\n## DSE recommendation\n\nDSE recommends checking the composed package address when adapting the existing project to the Az script. Review the separator between the artifacts location and package folder, then confirm that the folder and filename match the staged output. Do not solve a path-joining error by broadening storage access or copying credentials into the template. Keep the migration change limited and reproducible.\n\n## Verification\n\nRebuild an approved test project and inspect the staging directory before deployment. Verify that the constructed address identifies the intended package, using sanitized evidence that omits any access token. Run the documented console-based deployment and check the resulting application content, not merely resource creation. Preserve the exact script and template versions alongside the tested path construction.\n\n## Official references\n\n[Microsoft Learn](https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/create-visual-studio-deployment-project). Source retrieved September 9, 2026."
    },
    "json_ld": {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "https://dsesecurity.com/#organization",
                "name": "Detection Systems & Engineering",
                "alternateName": "DSE Security",
                "url": "https://dsesecurity.com/",
                "logo": {
                    "@type": "ImageObject",
                    "url": "https://update.dsesecurity.com/assets/dse-logo-20260812.png?v=1.8.20"
                }
            },
            {
                "@type": "Organization",
                "@id": "https://update.dsesecurity.com/#editorial-team",
                "name": "DSE Security Editorial Team",
                "url": "https://update.dsesecurity.com/",
                "parentOrganization": {
                    "@id": "https://dsesecurity.com/#organization"
                }
            },
            {
                "@type": "WebSite",
                "@id": "https://update.dsesecurity.com/#website",
                "name": "DSE Updates",
                "alternateName": "DSE Security Knowledge Hub",
                "url": "https://update.dsesecurity.com/",
                "inLanguage": "en-US",
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "potentialAction": {
                    "@type": "SearchAction",
                    "target": {
                        "@type": "EntryPoint",
                        "urlTemplate": "https://update.dsesecurity.com/?q={search_term_string}"
                    },
                    "query-input": "required name=search_term_string"
                }
            },
            {
                "@type": "WebPage",
                "@id": "https://update.dsesecurity.com/updates/dse-20260909-320-correct-artifact-path-joining-when-an-existing-visual-studio-project-adopts-the-az/",
                "url": "https://update.dsesecurity.com/updates/dse-20260909-320-correct-artifact-path-joining-when-an-existing-visual-studio-project-adopts-the-az/",
                "isPartOf": {
                    "@id": "https://update.dsesecurity.com/#website"
                },
                "lastReviewed": "2026-09-09"
            },
            {
                "@type": "BreadcrumbList",
                "@id": "https://update.dsesecurity.com/updates/dse-20260909-320-correct-artifact-path-joining-when-an-existing-visual-studio-project-adopts-the-az/#breadcrumbs",
                "itemListElement": [
                    {
                        "@type": "ListItem",
                        "position": 1,
                        "name": "DSE Updates",
                        "item": "https://update.dsesecurity.com/"
                    },
                    {
                        "@type": "ListItem",
                        "position": 2,
                        "name": "Correct artifact-path joining when an existing Visual Studio project adopts the Az script",
                        "item": "https://update.dsesecurity.com/updates/dse-20260909-320-correct-artifact-path-joining-when-an-existing-visual-studio-project-adopts-the-az/"
                    }
                ]
            },
            {
                "@type": [
                    "Article",
                    "TechArticle"
                ],
                "@id": "https://update.dsesecurity.com/updates/dse-20260909-320-correct-artifact-path-joining-when-an-existing-visual-studio-project-adopts-the-az/#article",
                "identifier": "https://update.dsesecurity.com/updates/dse-20260909-320-correct-artifact-path-joining-when-an-existing-visual-studio-project-adopts-the-az/",
                "url": "https://update.dsesecurity.com/updates/dse-20260909-320-correct-artifact-path-joining-when-an-existing-visual-studio-project-adopts-the-az/",
                "headline": "Correct artifact-path joining when an existing Visual Studio project adopts the Az script",
                "description": "What packageUri adjustment accompanies the documented Az deployment script for an existing Visual Studio resource-group project?",
                "abstract": "What packageUri adjustment accompanies the documented Az deployment script for an existing Visual Studio resource-group project?",
                "articleBody": "Source facts\nMicrosoft’s Azure Resource Group project for Visual Studio is in extended support. Its documented Az-module deployment script runs from a PowerShell console rather than Visual Studio’s deployment interface. That script adds a trailing slash to the artifacts location, so the template must not add another slash before its package-folder component. The project must then be rebuilt to populate the staging folder. Microsoft Learn.\nApplicability\nApply this review to maintenance of an existing project using the documented script. It is not a recommendation to start a new AzureRM deployment workflow. Identify the script actually invoked, the template’s packageUri expression and the package path recorded by the project reference.\nDSE recommendation\nDSE recommends checking the composed package address when adapting the existing project to the Az script. Review the separator between the artifacts location and package folder, then confirm that the folder and filename match the staged output. Do not solve a path-joining error by broadening storage access or copying credentials into the template. Keep the migration change limited and reproducible.\nVerification\nRebuild an approved test project and inspect the staging directory before deployment. Verify that the constructed address identifies the intended package, using sanitized evidence that omits any access token. Run the documented console-based deployment and check the resulting application content, not merely resource creation. Preserve the exact script and template versions alongside the tested path construction.\nOfficial references\nMicrosoft Learn. Source retrieved September 9, 2026.",
                "datePublished": "2026-09-10T00:26:36+00:00",
                "dateModified": "2026-09-10T01:40:03+00:00",
                "mainEntityOfPage": {
                    "@id": "https://update.dsesecurity.com/updates/dse-20260909-320-correct-artifact-path-joining-when-an-existing-visual-studio-project-adopts-the-az/"
                },
                "inLanguage": "en-US",
                "isAccessibleForFree": true,
                "author": {
                    "@type": "Organization",
                    "name": "DSE Security Editorial Team",
                    "url": "https://update.dsesecurity.com/#editorial-team"
                },
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "image": {
                    "@type": "ImageObject",
                    "@id": "https://update.dsesecurity.com/updates/dse-20260909-320-correct-artifact-path-joining-when-an-existing-visual-studio-project-adopts-the-az/#primaryimage",
                    "url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-social-v2.jpg?v=1.8.20",
                    "contentUrl": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-social-v2.jpg?v=1.8.20",
                    "width": 1200,
                    "height": 630,
                    "caption": "Correct artifact-path joining when an existing Visual Studio project adopts the Az script"
                },
                "articleSection": [
                    "IT",
                    "Networks & Infrastructure"
                ],
                "keywords": [
                    "IT",
                    "Networks & Infrastructure",
                    "Guide",
                    "Information priority"
                ],
                "genre": "Guide",
                "about": [
                    {
                        "@type": "Thing",
                        "name": "IT",
                        "url": "https://update.dsesecurity.com/topic/it/"
                    },
                    {
                        "@type": "Thing",
                        "name": "Networks & Infrastructure",
                        "url": "https://update.dsesecurity.com/topic/networks-infrastructure/"
                    }
                ],
                "wordCount": 235,
                "timeRequired": "PT2M",
                "publishingPrinciples": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
                "usageInfo": "https://update.dsesecurity.com/usage/",
                "copyrightHolder": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "copyrightNotice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
                "citation": {
                    "@type": "CreativeWork",
                    "name": "Create & deploy Visual Studio resource group projects - Azure Resource Manager | Microsoft Learn",
                    "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/create-visual-studio-deployment-project"
                }
            }
        ]
    }
}