Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8687389
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 12, 20262026-06-12T23:06:14+00:00 2026-06-12T23:06:14+00:00

I have a Pre-build event on a web project that minifies and concatenates javascript

  • 0

I have a Pre-build event on a web project that minifies and concatenates javascript files using node. This creates a folder called BuiltScripts in the scripts folder that is a duplicate of the scripts folder except the files are minified. When I am doing a deploy I want to publish the scripts folder including the BuiltScripts folder within it. To achieve this I have added the BuiltScripts folder to the project. This is not an ideal solution as:

  1. I have to have the BuiltScripts folder checked out in order to build as the files in it are read only as the solution is under source control. This creates hassles when checking in as I have so many files checked out.
  2. When I add a new file to the project I have to make sure I remember to add it to the BuiltScripts folder or the built version of the file will not be deployed.
  3. My build will fail on the build server as the files in the BuiltScripts folder are read only there as well.
  4. Having two copies of a file with the same name is an issue when searching for files and doing text based searches.

I would like to have the build server build and minifiy the javascript files as a pre build step but I do not want the BuiltScripts folder added to the project. However when the build server packages the project at the end I want it to copy the BuiltScripts folder with the output of the build process. How can I achieve this?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-12T23:06:15+00:00Added an answer on June 12, 2026 at 11:06 pm

    Instead of using the pre-build event of the project properties (which I think is what you mean), override the BeforeBuild target in the .csproj/.vbproj file.

    <Project ...>
      ...
      <Target Name="BeforeBuild">
        <!-- Create the 'BuildScripts' directory. -->
        <!-- The $(IntermediateOutputPath) reference the 'obj' folder, which I like to -->
        <!-- use for these kinds of things. -->
        <MakeDir Directories="$(IntermediateOutputPath)BuiltScripts">
          <Output PropertyName="BuildScriptsPath" TaskParameter="DirectoriesCreated" />
        </MakeDir>
        <!-- Execute the javascript minifier. -->
        <Exec Command="..." />
        <!-- Create an item group for the minified scripts so we manipulate the target path. -->
        <CreateItem Include="$(BuildScriptsPath)\*.js">
          <Output ItemName="BuiltScripts" TaskParameter="Include" />
          <Output ItemName="FileWrites" TaskParameter="Include" />
        </CreateItem>
        <!-- Add the minified scripts to the Content item group, -->
        <!-- which the deployment MSBuild inspects for files to deploy. -->
        <CreateItem Include="@(BuiltScripts)"
          AdditionalMetadata="TargetPath=scripts\%(Filename)%(Extension)">
          <Output ItemName="ContentWithTargetPath" TaskParameter="Include" />
        </CreateItem>
      </Target>
      ...
    </Project>
    

    You may have to play with the shape of the Content item group that is the output of the CreateItem task if the files don’t get deployed to the right directory. Note that I used an item transform to make the target path scripts\YourScript.js.

    Also note the first CreateItem task stuffs the output into an item group called ‘FileWrites.’ I discovered that the Clean target inspects that item group to know what files to delete.

    Place that XML into your project file after the <Import> elements and you should be good to go. No checking-into source control required and even your build server will be happy.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We have multiple config files (app.DEV.config, app.TEST.config, etc) and a pre-build event that copies
I have a project that comprises pre-build Dll modules, built some time in the
I have a pre-build event on a C# project which runs xsltproc to transform
I have a C# project in Visual Studio 2010 with this in the pre-build
I have a vcproj file that includes a simple pre-build event along the lines
I'm trying to run a pre-build event which passes all the JavaScript files in
I have created an exe file as a part of pre build event. I
I have just written a small utility to be used in a pre-build event.
I have a javascript file that I minify using the Yahoo YUI. When I
I have a custom tool which is set up as a pre-build event, it

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.