我正在尝试发布我刚刚在 Visual Studio 2012 中创建的项目的文件。
当我点击发布时,
显示以下窗口
已经创建了一个新的 web 项目(相同类型,asp.net mvc 4)并尝试进行相同的更改并且一切正常。 显然这只发生在这个项目上!
已经关闭“VS”并在我重新启动 PC 时再次打开 .. 有什么建议吗?
还要检查 .csproj 文件中的 ProjectTypeGuids。我有一个类似的问题,虽然不完全一样,来源是因为其他团队成员在 VS2012 中打开了项目,而我在 VS2010 上。 VS2012 强制您将 MVC2 站点转换为 MVC3 站点,然后 VS2010 在发布时无法处理。
如果你问我,向后兼容性差。
我已经在这里回答了这个问题。基本上,您需要修复您的 Visual Studio 安装。
你的 web.config 中的
<clear/>
元素中是否有 <connectionStrings>
元素?如果是这样,请将其删除,您应该可以发布了。
我在 Visual Studio 2010 中发布我们的项目时也遇到了同样的问题。
对我来说,删除 bin 文件夹中的所有文件都有效。
对我来说,从 src 文件夹中删除扩展名为 .pubxml 和 .pubxml.user 的文件是修复它的方法。之后我不得不重新配置发布设置。请记住,您可能需要删除它们几次并重新启动 IDE 才能正常工作。
OK,我刚刚解决完这个问题。这是 web.config 中的一个错误。检查它指向 Microsoft.Meb.Publishing.targets 的输出,第 2309 行,作为错误的来源。如果您通过双击输出来检查该行,它将显示 ParameterizeTransformXml 节点。这使得 release/debug.config 和 web.config 之间的替换已发布。
在我们的案例中,git 上的合并导致 web.config 文件出现问题。但正如 JiffyLueb 所说,任何其他意外标签都可能导致问题。
对我来说,这是整个项目所在目录的长度。
我把它移到离根更近的地方,一切正常
我有类似的问题。 PublishProfiles 文件夹中的文件 *.pubxml 已保存发布方法的属性。有 WebPublishMethod FileSystem 和 publishUrl 标签是我电脑上一些不存在的文件夹(它存在于我的另一台电脑上)。
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<ExcludeApp_Data>False</ExcludeApp_Data>
<publishUrl>c:\temp\someFolder</publishUrl> // this folder didn't exist on my computer
<DeleteExistingFiles>True</DeleteExistingFiles>
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
</PropertyGroup>
</Project>