Jef*_*app 229 asp.net asp.net-mvc visual-studio-2012 msbuild-wpp visual-studio-publish
我在VS 2012中有一个Web应用程序项目,当我使用Web发布工具时,它成功构建但不会将任何文件复制到发布目标(在本例中为文件系统).
如果我查看构建输出,我可以看到所有内容都被正确复制到obj\Release\Package\PackageTmp \但是然后我在构建输出中看到的就是:
4>完成建筑项目"{Project} .csproj".
4>删除现有文件...
4>发布文件夹/ ...
4> ==========构建:3成功,0失败,1最新,0跳过===== =====
==========发布:1成功,0失败,0跳过==========
尽管它表示发布成功,但目标目录中没有用于发布的文件.
我已经在多个项目中看到过这种情况,有时似乎解决方案/平台配置会导致此问题,但我无法找到确切的原因.
有没有其他人看到过这种情况,或者对如何使其正常工作有所了解?
更新:
我可能已经找到了解决方法.我刚刚再次发生这种情况,我正在搞乱发布设置.一旦我将设置选项卡上的所选配置更改为其他配置,然后返回到我想要使用的配置,我的所有文件再次开始发布.希望这可以在将来的其他项目中使用.
更新2:
我在Microsoft Connect上发布了一个错误,并从VS Web Developer团队的开发人员那里收到了回复.他说他们已经在内部版本中解决了这个问题,并将很快发布一个更新发布工具来解决这个问题.
更新3:
最近使用Visual Studio 2012 Update 2修复了此问题
小智 78
这可能是由使用vs2012的RC创建的解决方案/项目引起的.几个月前发生在我身上并通过确保我的解决方案构建配置与我的项目配置相匹配来解决问题...
我最近在使用VS2012 Express for Web打开最初在vs2012RC中创建的相同解决方案时遇到了同样的问题.我完成了原始海报的建议并解决了我的问题.
以下是引导我回答的主题:
connect.microsoft.com/VisualStudio/feedback/details/746321/publish-web-application-fails
上面对话的相关回应对我有帮助:
由Microsoft发布于2012年6月13日中午12:00
这是我们如何处理解决方案配置与项目配置的错误.我们错误地认为它们是相同的(例如,Solution的Release | x86也会将每个项目设置为Release | x86),这导致我们使用错误的构建属性来发布文件.
解决方法是使解决方案配置和构建配置匹配.此问题将在Visual Studio 2012的下一个版本中修复.
谢谢, - Jimmy Lewis SDET,Visual Web Developer团队
Eri*_*ild 39
更进一步.您有两个在创建发布配置文件时创建的文件.
NewProfile.pubxml
NewProfile.pubxml.user
当您从源控件在PublishProfile文件夹中打开包含这些文件的项目时,它只包含.pubxml
文件而不是.publxml.user
文件,因此它会.publxml.user
在您打开项目时动态创建文件.当它在运行中创建新.publxml.user
的时,xml看起来像:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>
Run Code Online (Sandbox Code Playgroud)
创建新配置文件时,它会创建如下所示的xml:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<TimeStampOfAssociatedLegacyPublishXmlFile />
<EncryptedPassword />
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
如果您获取<PropertyGroup>
节点并将其放入.pubxml.user
文件中,您的PublishProfiles将再次开始工作.
JGi*_*tin 21
一个简单的解决方法是删除您的发布配置文件并创建一个新的.
当您右键单击解决方案并选择发布时,您将拥有一个配置文件集.删除它并创建一个新的.
这将解决它.
从2010年到2012年,我遇到了这个问题
我有同样的问题,但是这个帖子中没有一个答案适合我.我的问题是有一个目录包含动态生成的(由我的应用程序)静态HTML文件.整个目录尚未发布.
我回过头来想到我应该记录的一个问题是我发布项目时没有上传某些文件类型.
有问题的文件类型是.pdf文件和.rtf.
发生这种情况的原因是因为这些文件扩展名未被识别为需要Visual Studio发布.幸运的是,这可以在Visual Studio中进行更改.
选择未复制的文件.在Properties中,确保将Build Action设置为Content.
如果这不起作用,可以尝试以下方法.
在" 项目"菜单下,选择" 打包/发布 Web"并注意此下拉列表:
尝试将此更改为此项目文件夹中的所有文件.
这是因为.pubxml.user包含要发布的必需信息,并且该文件不会(也不应该)包含在源代码管理中.要修复此VS错误,请将.pubxml.user文件中的信息复制到.pubxml文件中.相关的属性是:
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
Run Code Online (Sandbox Code Playgroud)
把它们放在你的.pubxml中你应该很高兴.
小智 5
我对几个项目有同样的问题.唯一受欢迎的似乎是网络项目.删除和重新创建配置文件只能解决一次问题.另外,比较生成的publishxml没有产生任何差异,因此它似乎与配置文件无关.
OP提到的来回改变构建问题的解决方案似乎是目前唯一可靠的解决方案.
归档时间: |
|
查看次数: |
142126 次 |
最近记录: |