应用程序发布失败,找不到已存在的文件。

13

今天我尝试发布已经发布多次的应用程序时遇到了这个问题。 我正在尝试发布到一个目录。

我的问题是,如果我转到我的应用程序目录C:\www\clients\clientsite\app\clientproject\Properties\PublishProfiles,错误信息下面说找不到文件,但我可以清楚地看到git.pubxml文件。

将文件 Properties\PublishProfiles\git.pubxml 复制到 obj\Release\Package\PackageTmp\Properties\PublishProfiles\git.pubxml 失败。 找不到文件 'Properties\PublishProfiles\git.pubxml'。

我已检查过目录安全设置并正确。 我尝试删除了binobj文件夹,但没有任何变化。


我已经编辑了你的标题。请参考“问题的标题应该包含“标签”吗?”,在那里达成共识是“不应该”。 - John Saunders
7个回答

10

通常情况下,解决这个问题的方法是在记事本中编辑项目文件本身。

找到受影响的路径的技巧是检查“输出”窗口,而不是“错误列表”窗口。

一旦您找到受影响的文件路径,请在项目文件中搜索并删除引用。

在大多数情况下,项目文件中的麻烦行看起来像:

<Content include="{your path}" />

继续删除include,直到发布工作。

重要提示:如果您在执行此操作时保持Visual Studio打开状态,则必须接受“全部重新加载”提示。


1
对我来说,这很有帮助,因为有些行与旧的发布配置文件相关联。将它们删除后,我的问题得到了解决。 - ransems
这对我也起作用了。在 .csproj 文件中搜索 .pubxml 文件,发现列出了一些旧的配置文件。将其删除后再次发布,这次成功了。 - Caverman

7

我刚刚在清理非版本控制的文件时遇到了这个问题(这导致某些.pubxml.user文件丢失)。

如果您右键单击项目节点并单击“发布”,然后选择导致问题的发布配置文件,然后只需关闭发布对话框,Visual Studio 将询问是否要保存更改……单击“是”时,它会重新生成.pubxml.user文件,然后一切正常。


谢谢!这对我来说是解决方法。 - hardba11

6

您确定文件实际上存在于项目中吗?我曾在团队合作中遇到过这样的问题,我编写的某些文件最终未出现在VS项目文件中,因此当我们发布时,它不存在于发布中。如果您无法在VS中找到它,请确保您没有进行调试,并将文件放入项目文件结构中,然后按常规方式发布。


谢谢你的建议。虽然你的回答并没有完全解决我的问题,但它给了我正确的方向。 - Mike McCoy

2

在更新二进制文件后,这种情况通常会发生。一些软件包会删除自己的 .xml 和 .pubxml 文件,而 Visual Studio 仍然认为它是项目的一部分。

您需要做的是检查项目目录树中文件名旁边是否有黄色三角形,如果有,则删除这些文件,因为您的项目可以编译而没有错误。


2

VS报错找不到文件是因为该目录下的git.pubxml文件类型为USER File,实际上应该是PUBXML。当我从同一项目的另一个版本中添加了正确的文件类型后,就能够重新发布项目了。我认为PUBXML文件在源代码控制中被错误地删除了。


1
尝试更改发布设置。如果勾选“发布期间预编译”,这将重新创建您的.pubxml.user文件。

0
我在“解决方案资源管理器”中查看了“发布配置文件”部分,并发现该文件被排除在外,并且旁边有一个“!”的标志,显示警告该文件未找到。我将其删除,然后进入我的发布设置以编辑配置文件。我更改了一些内容(让我在发布期间编译文件)。然后我尝试重新发布解决方案,它成功了!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接