【发布时间】:2012-10-03 17:27:25
【问题描述】:
我想使用 Visual Web Developer Express 2010 发布网站,使用以下设置通过 FTP 预编译到远程服务器:
- 仅部署运行此应用程序所需的文件
- 发布前预编译此应用程序
- 允许网站可更新
- 没有部署数据库
- 网站被部署为文件层次结构,而不是 .zip 包
我的第一次构建/部署似乎进展顺利,但在第二次编译后,我收到以下错误:
Transformed web.config using C:\path_to_site\Web.Debug.config into obj\Debug\TransformWebConfig\transformed\web.config.
Copying all files to temporary location below for package/publish:
obj\Debug\AspnetCompileMerge\Source.
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.5\Web\Transform\Microsoft.Web.Publishing.AspNetCompileMerge.targets(132,5): Error : Can't find the valid AspnetMergePath
这是 Microsoft.Web.Publishing.AspNetConfigurationMerge.targets 文件内容的子集:
<Target
Name="GetAspNetMergePath"
DependsOnTargets="$(GetAspNetMergePathDependsOn)"
Condition ="'$(GetAspNetMergePath)' != 'false'">
<PropertyGroup>
<AspnetMergeName>aspnet_merge.exe</AspnetMergeName>
<AspnetMergePath Condition="Exists('$(TargetFrameworkSDKToolsDirectory)$(AspnetMergeName)')">$(TargetFrameworkSDKToolsDirectory)</AspnetMergePath>
</PropertyGroup>
<Error Condition="'$(AspnetMergePath)' == '' Or !Exists($(AspnetMergePath))"
Text="Can't find the valid AspnetMergePath" />
</Target>
编辑:更改发布设置以在发布前删除所有现有文件毕竟不能解决问题。因此,我假设问题是本地的。
我的 web.config 中似乎没有 AspMergePath 标记。我不知道我是否应该手动添加标签。但是,我的项目中确实存在路径“obj{publish setting}\AspnetCompileMerge\Source”。
如果重要的话,我的项目名称是“TestProject.NET”
感谢您的反馈。
【问题讨论】:
-
您是否尝试过通过“文件系统”方法发布您的网站?就像测试一样。
-
是的。 “文件系统”发布方法遇到了同样的问题。
-
你不应该添加任何标签('AspMergePath'),另一个测试。它是否与 ctrl + shift + W 一起运行?
-
是的。该网站使用 ctrl + shift + W 运行得很好
标签: asp.net visual-studio deployment publishing visual-web-developer