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/

其他提示

Did you try to use the same path as for 6.0 - like LM/W3SVC/1/ROOT?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top