locked
Aspnet_compiler / ASPRUNTIME Build could not find file in a ShadowCopy folder – Huh ?? RRS feed

  • Question

  • User-1224781418 posted

    Hi all,

    I am using Visual Studio 2019 Web Deploy an ASP.NET MVC app with “Precompile During Publishing” (and not allowing site to be updatable).

    During the Deployment Web Deploy calls the aspnet_compiler as follows:

    3>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v / -p C:\Clancy\A_TeraTastic\Dev\TT15\TeraTastic\obj\TTRelease\AspnetCompileMerge\Source -c C:\Clancy\A_TeraTastic\Dev\TT15\TeraTastic\obj\TTRelease\AspnetCompileMerge\TempBuildDir

    During that aspnet_compiler compilation  (or pre-compilation) I am getting the following error:

    3>error ASPRUNTIME(0,0): Error message: Could not find file 'C:\Clancy\A_TeraTastic\Dev\TT15\TeraTastic\obj\TTRelease\AspnetCompileMerge\Source\App_Data\TEMP/uCommerceAppsAssemblyShadowCopy\DF65C9D81126DFE36C13305B42A62905'..

    I currently have \App_Data\TEMP\uCommerceAppsAssemblyShadowCopy\  “Excluded” from project because  from what I understand it is only needed at run time to copy assemblies to so they can be opened from there, so as to avoid locking the master copies. This to allow for web site update as described at https://docs.microsoft.com/en-us/dotnet/framework/app-domains/shadow-copy-assemblies . 

    Because it is “Excluded” from project this folder does not exist in the “Source” folder used as and input to aspnet_compiler.exe.  To be precise I checked and can confirm that the folder C:\Clancy\A_TeraTastic\Dev\TT15\TeraTastic\obj\TTRelease\AspnetCompileMerge\Source\App_Data\TEMP/uCommerceAppsAssemblyShadowCopy\  does not exist.

    Further more a text search on the content of all files in C:\Clancy\A_TeraTastic\Dev\TT15\TeraTastic\obj\TTRelease\AspnetCompileMerge\Source does not find any file or file name containing the string “uCommerceAppsAssemblyShadowCopy”

    So given that the only input to  aspnet_compiler.exe is the physical path of the “Source” folder   ( -p C:\Clancy\A_TeraTastic\Dev\TT15\TeraTastic\obj\TTRelease\AspnetCompileMerge\Source ), why does, and how does aspnet_compiler.exe even know to look for 'C:\Clancy\A_TeraTastic\Dev\TT15\TeraTastic\obj\TTRelease\AspnetCompileMerge\Source\App_Data\TEMP/uCommerceAppsAssemblyShadowCopy\DF65C9D81126DFE36C13305B42A62905'.. ?  Huh - does not make sense to me ?

    Also note in the error message above one of the folder delimiters is a “/” while the rest are “\” why is that ? and is it a problem ?  Right now I am assuming it is not a problem because similar paths are opened by Windows Explorer without issue.

    Also FYI for reference docs on aspnet_compiler.exe and related command line switches see  https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-3.0/ms227976(v=vs.85)  

    Any assistance understanding or solving this problem would be appreciated...

    Terry Clancy

    ClanceZ


    Terry Clancy

    Thursday, July 16, 2020 5:08 PM

All replies

  • User1535942433 posted

    Hi terryclancy1,

    terryclancy1

    So given that the only input to  aspnet_compiler.exe is the physical path of the “Source” folder   ( -p C:\Clancy\A_TeraTastic\Dev\TT15\TeraTastic\obj\TTRelease\AspnetCompileMerge\Source ), why does, and how does aspnet_compiler.exe even know to look for 'C:\Clancy\A_TeraTastic\Dev\TT15\TeraTastic\obj\TTRelease\AspnetCompileMerge\Source\App_Data\TEMP/uCommerceAppsAssemblyShadowCopy\DF65C9D81126DFE36C13305B42A62905'.. ?  Huh - does not make sense to me ?

    Accroding to your description and articles,as far as I think,the shadow copied files be copied to a download cache.You need to set ApplicationName and  CachePath Optionally.

    terryclancy1

    Also note in the error message above one of the folder delimiters is a “/” while the rest are “\” why is that ? and is it a problem ?  Right now I am assuming it is not a problem because similar paths are opened by Windows Explorer without issue.

    As far as I think,it's not a problem.

    aspnet_compiler -p "physical_path_to_app" -v / -f -u "target_location_folder"

    the target_location_folder is the physical path to the target location directory and should be delimited by quotation marks.

    More details,you could refer to below article:

    https://docs.microsoft.com/en-us/aspnet/web-forms/overview/older-versions-getting-started/deploying-web-site-projects/precompiling-your-website-cs

    Best regards,

    Yijing Sun

    Friday, July 17, 2020 3:11 AM