急、急、急、关于在vs2005下使用WebDeployment Project插件发布网站的怪异问题
最近做一个项目,经理要去发布后要只有一个dll所以就用了WebDeployment Project插件,完了之后编译就报了错误“aspnet_merge.exe”已退出,代码为 1。最后找了半天原因才发现是这句代码的问题:ConfigurationManager.ConnectionStrings["conn"].ConnectionString;(我又重新建了个网站只写了这个就报错,注释掉就ok)。
不要说什么类重名的问题(只有一个页面),命名空间的问题(手动加了命名空间的)。
搞了一天了实在是不知道原因,望有经验的帮忙下。
报错的详细信息是:------ 已启动全部重新生成: 项目: http://localhost/test2/, 配置: Debug .NET ------
正在验证网站
正在生成目录“/test2/”。
验证完成
------ 已启动全部重新生成: 项目: test2_deploy, 配置: Debug Any CPU ------
生成启动时间 2011-2-16 17:24:20。
目标 Clean:
任务“CreateProperty”
已完成执行任务“CreateProperty”。
目标 _PrepareForBuild:
任务“CreateProperty”
已完成执行任务“CreateProperty”。
任务“CreateProperty”
已完成执行任务“CreateProperty”。
目标“_SplitProjectReferencesByType”因出现错误条件而被跳过;('@(ProjectReference)'!='')被作为(''!='')计算。
已跳过目标“_PrepareForBuild”。以前的生成成功。
目标 GetFrameworkPathAndRedistList:
任务“GetFrameworkPath”
已完成执行任务“GetFrameworkPath”。
任务“CreateItem”
已完成执行任务“CreateItem”。
目标 _ResolveReferences:
任务“CreateItem”
已完成执行任务“CreateItem”。
任务“ReadLinesFromFile”因出现错误条件而被跳过;( '%(References_RefreshFile.Identity)' != '' )被作为( '' != '' )计算。
任务“CombinePath”
已完成执行任务“CombinePath”。
任务“Copy”
已完成执行任务“Copy”。
任务“ResolveAssemblyReference”因出现错误条件而被跳过;(Exists('%(References.Identity)'))被作为(Exists(''))计算。
任务“Copy”
已完成执行任务“Copy”。
目标“_ResolveProjectReferences”因出现错误条件而被跳过;('@(NonVCProjectReference)'!='')被作为(''!='')计算。
目标“ResolveAssemblyReferences”因出现错误条件而被跳过;('@(Reference)'!='' or '@(_ResolvedProjectReferencePaths)'!='')被作为(''!='' or ''!='')计算。
目标“_CopyBeforeBuild”因出现错误条件而被跳过;( '$(EnableCopyBeforeBuild)' == 'true' or '@(ExcludeFromBuild)' != '' )被作为( '' == 'true' or '' != '' )计算。
目标 BeforeBuild:
已跳过目标“_PrepareForBuild”。以前的生成成功。
目标 AspNetCompiler:
任务“AspNetCompiler”
命令:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe -v /test2 -p E:\WebPublish\test\test2 -u -f -c -d E:\WebPublish\test\test2Publish\test2_deploy\Debug\
任务“AspNetCompiler”正在使用“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe”中的“aspnet_compiler.exe”。
要用来预编译 ASP.NET 应用程序的实用工具
版权所有(C) Microsoft Corporation。保留所有权利。
已完成执行任务“AspNetCompiler”。
任务“ToggleDebugCompilation”
Updateing web.config compilation debug = 'True' ...
Successfully updated web.config compilation debug = 'True' ...
已完成执行任务“ToggleDebugCompilation”。
任务“RemoveDir”
目录“E:\WebPublish\test\test2Publish\test2_deploy\Debug\\App_Data”不存在。正在跳过。
已完成执行任务“RemoveDir”。
任务“CreateItem”因出现错误条件而被跳过;('$(UseMerge)' != 'true')被作为('true' != 'true')计算。
目标 BeforeMerge:
已跳过目标“_PrepareForBuild”。以前的生成成功。
已跳过目标“AspNetCompiler”。以前的生成成功。
目标“GenerateAssemblyInfo”因出现错误条件而被跳过;( '@(AssemblyAttributes)' != '' )被作为( '' != '' )计算。
目标 AspNetMerge:
任务“AspNetMerge”
Running aspnet_merge.exe ...
命令:
C:\Program Files\MSBuild\Microsoft\WebDeployment\v8.0\aspnet_merge.exe E:\WebPublish\test\test2Publish\test2_deploy\Debug -o test2_deploy -debug -r -copyattrs
任务“AspNetMerge”正在使用“C:\Program Files\MSBuild\Microsoft\WebDeployment\v8.0\aspnet_merge.exe”中的“aspnet_merge.exe”。
Utility to merge precompiled ASP.NET assemblies.
Copyright (c) Microsoft Corporation. All rights reserved.
An error occurred when merging assemblies: Unresolved assembly reference not allowed: System.Configuration.
C:\Program Files\MSBuild\Microsoft\WebDeployment\v8.0\Microsoft.WebDeployment.targets(574,9): error MSB6006: “aspnet_merge.exe”已退出,代码为 1。
已完成执行任务“AspNetMerge”-- 失败。
已完成在项目“test2_deploy.wdproj”中生成目标“AspNetMerge”-- 失败。
已完成生成项目“test2_deploy.wdproj”-- 失败。
生成失败。
已用时间 00:00:05.21
========== 全部重新生成: 1 已成功, 1 已失败, 0 已跳过 ==========