C# Visual Studio ClickOnce、.NET和混合大小写
我正在尝试使用ClickOnce部署将.NET 4.0应用程序发布到web服务器。实际应用程序已成功发布,但如果我从尚未安装.NET 4.0的计算机启动安装,安装程序将失败:当我单击下载链接时,会收到以下错误消息: 下载以下资源时出错: 查看发布的文件夹,Visual Studio在setup.exe旁边创建了三个文件夹:C# Visual Studio ClickOnce、.NET和混合大小写,c#,.net,visual-studio,clickonce,C#,.net,Visual Studio,Clickonce,我正在尝试使用ClickOnce部署将.NET 4.0应用程序发布到web服务器。实际应用程序已成功发布,但如果我从尚未安装.NET 4.0的计算机启动安装,安装程序将失败:当我单击下载链接时,会收到以下错误消息: 下载以下资源时出错: 查看发布的文件夹,Visual Studio在setup.exe旁边创建了三个文件夹:应用程序文件、dotnetfx40和windowsinstaller3\u 1 如果我将实际目录名从dotnetfx40更改为dotnetfx40,它会工作 我的“发布文件夹
应用程序文件
、dotnetfx40
和windowsinstaller3\u 1
如果我将实际目录名从dotnetfx40
更改为dotnetfx40
,它会工作
我的“发布文件夹位置”是一个文件路径(\\\server\c$\…
等),“安装文件夹URL”是http://server/app
我很惊讶,我没有在网上找到任何东西;我是否遗漏了一些明显的内容?如果您的web服务器是*NIX机器,则文件名区分大小写。这意味着
dotnetfx40
和dotnetfx40
是不同的文件,这可以解释为什么您在尝试下载一个(不存在的)文件时出错,以及为什么另一个工作。如果您的web服务器是*NIX机器,那么文件名区分大小写。这意味着dotnetfx40
和dotnetfx40
是不同的文件,这可以解释为什么您在尝试下载一个(不存在的)文件时出错,另一种方法为何有效。解决方法:我们将二进制文件从构建机器复制到目标机器,而不是从开发机器部署。解决方法:我们将二进制文件从构建机器复制到目标机器,而不是从开发机器部署。我假设dotnetfx404
是输入错误?不,我们切换到将二进制文件从构建机器复制到目标机器,而不是从开发机器部署…我假设dotnetfx404
是输入错误?不,我们切换到将二进制文件从构建机器复制到目标机器,而不是从开发机器部署…服务器操作系统是Windows Server 2008 R2。我更改了服务器上的目录名,这就是为什么之后它会工作。但显然这不是一个永久的解决方案,因为下一次发布将再次破坏目录名…服务器操作系统是Windows Server 2008 R2。我更改了服务器上的目录名,这就是为什么之后它会工作。但显然这不是一个永久的解决方案,因为下一次发布将再次破坏目录名。。。