Visual Studio 2017突然将不会将新的JavaScript文件上载到Azure

Visual Studio 2017突然将不会将新的JavaScript文件上载到Azure,javascript,visual-studio,azure,visual-studio-2017,azure-web-app-service,Javascript,Visual Studio,Azure,Visual Studio 2017,Azure Web App Service,我有一个ASP.NETMVC5项目,其中有一堆类型脚本文件。我使用Gulp来缩小和绑定它们,但我也将生成的JavaScript文件上传到一些环境中,以便更容易调试 我使用应用程序服务发布目标,使用Project>publish从Visual Studio 2017发布到Azure 由于某些原因,从新添加的TypeScript文件生成的JavaScript文件不会被上载。从旧的TypeScript文件生成的JavaScript会继续正常上载 这些JavaScript文件实际上并不包含在我的项目中,

我有一个ASP.NETMVC5项目,其中有一堆类型脚本文件。我使用Gulp来缩小和绑定它们,但我也将生成的JavaScript文件上传到一些环境中,以便更容易调试

我使用应用程序服务发布目标,使用Project>publish从Visual Studio 2017发布到Azure

由于某些原因,从新添加的TypeScript文件生成的JavaScript文件不会被上载。从旧的TypeScript文件生成的JavaScript会继续正常上载

这些JavaScript文件实际上并不包含在我的项目中,它们只是放在生成它们的TypeScript父对象旁边的文件夹中

我在项目文件中没有看到任何地方实际指定应该上传它们。但是,如果我使用云资源管理器从服务器上删除一个旧文件并重新发布,旧的JavaScript文件将再次发布,而我的新文件将被忽略


究竟是什么原因导致了这种情况?

根据您的描述,您希望允许指定文件夹中的JS文件上载到Azure web app,为此,我们需要设置.csproj文件

例如,在发布项目时,我们可以按以下步骤将资源文件夹中的所有文件上载到azure web app:

<Content Include="Resource\*">
    <CopyToPublishDirectory>always</CopyToPublishDirectory>
</Content>

我刚刚遇到了这个问题,我通过以下方式解决了它:

关闭的Visual Studio项目 已删除此位置中除最新文件夹外的所有文件夹: C:\ProgramFilesx86\Microsoft SDK\TypeScript 重新打开的Visual Studio项目 在包含不会发布的TypeScript文件的目录中,我添加了一个名为Foo.ts的全新TypeScript文件,其中包含虚拟内容。 它促使我将我的Typescript插件更新到当前版本,我接受了这个版本 我验证了Foo.ts在项目构建时编译为javascript。 此时,发布我的项目将部署所有生成的JavaScript文件,因此我删除了伪Foo.ts,因为它不再需要了


我希望这能帮助别人解决这个问题

如果您使用的是Full Framework.NET,则需要将要发布到项目中的每个文件添加到项目中,或者使用项目中的通配符include来包含目录中的每个文件。无论如何,您的项目需要了解该文件。我有一个类似的构建/部署系统,我的JS是在构建时生成的,我保留了项目中引用的占位符文件,因此项目知道它们存在。谢谢回复。我清理了项目并重新发布,它重新开始正常工作,没有任何更改。如果有人有这个问题,有一个怪癖让我无法更早地找到它:我的构建模式被设置为Debug,但我发布了一个发布版本。当我清理项目时,我认为它会清理所有东西,但实际上,它只清理了调试。当我将项目设置为Release并清理时,它正确地清理了obj\Release目录,之后我重新发布时,实际项目中仍然没有引用的文件将其发送到服务器。无论如何,再次谢谢你!谢谢你的回复!这似乎确实有效。它还对我的项目做了一些奇怪的事情,比如创建重复项—对同一文件的多个引用—一个是作为项目一部分的现有TypeScript文件,另一个是CopyTopPublishDirectory指令引入的重复引用。我认为只要删除每个副本中的一个就可以解决这个问题,但我不必测试它,因为我发现简单地清理调试和发布模式并重新发布就可以解决问题,请参见原始问题中的注释。