Chr*_*sic 15 deployment visual-studio-2010 asp.net-mvc-3
我<MvcBuildViews>true</MvcBuildViews>在我的项目文件中进行了设置.
现在当我第一次部署文件时进行部署obj\release\package\packagetmp.之后的每个后续构建都会导致faild构建.
Web -> C:\Projects\ProjectX\Web\bin\ProjectX.Web.dll
C:\Projects\ProjectX\Web\obj\release\package\packagetmp\web.config(64):
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.
------ Skipped Publish: Project Web, Configuration: Release Any CPU ------
Run Code Online (Sandbox Code Playgroud)
现在如果删除obj文件夹,我可以建立好.
在我发布之后,任何构建都失败,直到我手动删除obj文件夹,这是相当令人沮丧的.有什么办法可以解决这个问题吗?
ken*_*eiv 12
将其添加到.csproj文件中:
<Target Name="AfterBuild" Condition="'$(Configuration)'=='Release'">
<RemoveDir Directories="$(IntermediateOutputPath)" />
</Target>
Run Code Online (Sandbox Code Playgroud)
似乎删除obj\Release中的文件,但不删除文件夹本身,至少在我的机器上.
出现此问题的原因是MvcBuildViews与Web Deploy打包冲突.我从http://www.zvolkov.com/clog/2011/02/16/asp-net-razor-lessons-learned/了解了这个解决方案:
<PropertyGroup>
<PackageDependsOn Condition="'$(DeployOnBuild)'=='true'">
CleanWebsitesPackage;
CleanWebsitesPackageTempDir;
CleanWebsitesTransformParametersFiles;
MvcBuildViews;
$(PackageDependsOn)
</PackageDependsOn>
<BuildDependsOn Condition="'$(DeployOnBuild)'!='true'">
$(BuildDependsOn);
MvcBuildViews
</BuildDependsOn>
</PropertyGroup>
<Target Name="MvcBuildViews" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
Run Code Online (Sandbox Code Playgroud)
现在AspNetCompiler将在打包之前运行.这适用于msbuild/p:DeployOnBuild = True/p:DeployTarget = Package方法.
| 归档时间: |
|
| 查看次数: |
3017 次 |
| 最近记录: |