我正在尝试自动发布在 cc.net 中具有许多解决方案的项目。我正在使用 msbuild,它又调用 aspnetcompiler xml 文件。问题是我的目录包含许多解决方案,当我运行 aspnetcompiler 时,它给了我以下错误。
errorASPCONFIG:使用注册为 allowDefinition='MachineToApplication' 的部分超出应用程序级别是错误的。此错误可能是由于虚拟目录未在 IIS 中配置为应用程序所致
我已经尝试了许多论坛上给出的所有可能的解决方案。但我很困惑如何明确告诉 aspnet_compiler 执行 20 个项目中的一个特定项目。
I am using the ccnet build to call aspnet complier
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
<!--msbuild exe directory -->
<workingDirectory>C:\cc\test\code\</workingDirectory>
<!--your working directory -->
<projectFile>C:\Program Files\CruiseControl.NET\server\AspNetCompilerConfiguration.xml</projectFile>
<!--the configuration xml file which will hold AspNetCompiler lines-->
<logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
</msbuild>
这是我的 AspNetCompilerConfiguration.xml 文件
<Project
xmlns = "http://schemas.microsoft.com/developer/msbuild/2003"
name = "AspNetPreCompile"
DefaultTargets = "PrecompileWeb">
<Target Name = "PrecompileWeb">
<AspNetCompiler
VirtualPath = "test"
PhysicalPath = "C:\cc\test\code\"
TargetPath = "C:\cc\testitr\deploy\"
Force = "true"
Debug = "true"
Updateable = "true"/>
</Target>
</Project>
现在我想运行 C:\cc\test\code\Com.Project1.sln。但我不知道如何告诉 aspnet 编译器。任何想法如何做到这一点,然后发布。