I am trying to use aspnet_compiler via the command line to build and publish a web application that is running on the IIS7 Default Web Site. I am struggling with finding the correct syntax of the -m argument for specifying the IIS metabase path.
All the documentation refers to IIS6 metabase paths, which are of the format "LM/W3SVC/1/Root". I came across this information, which indicates the IIS7 metabase path should look like "MACHINE/WEBROOT/APPHOST/Default Web Site."
The actual command then looks like this:
aspnet_compiler -nologo -m "MACHINE/WEBROOT/APPHOST/Default Web Site/" \\productionwebserver\inetpub\websitefolder\
This, however, results in the following error: error 1002: 'MACHINE/WEBROOT/APPHOST/Default Web Site/' is not a well formed IIS metabase path.
My default website is called "Default Web Site". I have also explored using the syntax of specifying the virtual path and physical path instead of the metabase path, for example:
aspnet_compiler -nologo -v / -p ".."
(this command file exists in a sub-folder of the website project folder)
This results in the following error: error ASPCONFIG: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
The website builds fine from within VS2010.
Use the same path, but make sure that you have IIS 6 Metabase Compatibility component installed for IIS 7,
http://learn.iis.net/page.aspx/125/metabase-compatibility-with-iis-7/