我想使用 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”
感谢您的反馈。