ClickOnce部署出现 无法在磁盘上找到 dotNetFx40LP_Client_x86_x64cs.exe 问题的解决方案
2013-04-05 09:57
330 查看
当我们使用简体中文或繁体中文版本的 Visual Studio 2010 发布应用程序时,如果在“系统必备”对话框中选中“从与我的应用程序相同的位置下载系统必备组件”选项,并选择以下任何组件作为系统必备组件,可能会显示生成错误:
1.Microsoft .NET Framework 4(x86 和 x64)
2.Microsoft .NET Framework 4 Client Profile(x86 和 x64)
3.Microsoft Visual F# Runtime for .NET 2.0
4.Microsoft Visual F# Runtime for .NET 4.0
对于“Microsoft .NET Framework 4 Client Profile(x86 和 x64)”系统必备项,系统可能会显示下面的生成错误:
“MSB3152: 系统必备的安装位置未设置为‘组件供应商的网站’,无法在磁盘上找到项‘Microsoft .NET Framework 4 Client Profile (x86 和 x64)’中的文件‘DotNetFX40Client/dotNetFx40LP_Client_x86_x64cs.exe’。 有关详细信息,请参见‘帮助’。”
这是由于可再发行语言包的位置不正确或缺失导致的 ClickOnce 发布失败。
下面我们就以“Microsoft .NET Framework 4 Client Profile(x86 和 x64)”为例,其它三个也需要依葫芦画瓢。另外,如果选了Microsoft .NET Framework 4(x86 和 x64),就不需要再勾选 Microsoft .NET Framework 4 Client Profile(x86 和 x64)了,它们之间应该是整体与部分的关系。
1.导航到文件夹“%ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX40Client”。 对于 x64 操作系统,该路径位于 %ProgramFiles(x86)% 下。 2.若使用的简体 VS2010,则创建新文件夹,命名为 zh-chs;若是繁体的,则新文件夹名为 zh-cht。 3.若使用的简体 VS2010,将 zh-Hans 文件夹内的文件复制到 zh-chs 文件夹内;若是繁体的,则复制 zh-Hant 文件夹内容到 zh-cht。 4.在管理员模式下打开 Package.xml。 5.若使用的简体 VS2010,找到 <String Name=”Culture”>zh-hans</String>,并将 zh-hans 改为 zh-chs;若是繁体的,则替换 zh-Hant 为 zh-cht。
完成上面的修改后,再发布程序。OK了?那你很幸运!
还报错,提示未能找到文件“C:/Program Files/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX40Client/cs/dotNetFx40LP_Client_x86_x64cs.exe”。
恭喜你,幸运仍然伴你左右,因为下面就有解决的办法。如果不是类似的错误,那你就要做好思想准备了,Good luck! bye bye.
言归正传,也许你已经注意到了,在 Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX40Client 文件夹中有许多文件夹,多是以简单的几个字母命名,其实他们对应各国的语言包,文章的最后列出了常见的国名与缩写对照表,cs 是指捷克,上面的错误实际是因为缺少捷克的语言包造成的(1搞不懂发布简繁体的程序为什么需要捷克的语言包)。
接下来我们打开 cs 文件夹中的 Package.xml 文件,找到 DotNetFX40ClientLanguagePackBootstrapper 元素,其值是 http://go.microsoft.com/fwlink/?linkid=164196&clcid=0x405,这就是下载捷克语言包的地址,不用试了,下不了的,微软做了处理,会自动定向下载请求者所在国家的语言包(2搞不懂,既然有了自动重定向,干吗还要提供不同的地址)。
让我们继续吧,别再管什么语言包了,发布简繁的中文程序不需要其它国家的语言,VS 2010 要,那就给它的假的,走形势而已,把 zh-chs 文件夹里的中文语言包复制一个到 cs 文件夹,并重命名为 dotNetFx40LP_Client_x86_x64cs.exe。如果你是一个"正直的人",看不惯弄虚做假这一套,可以到这里下载正版的捷克语言包。好了,现在去发布程序,应该没什么问题了,再有问题也不是这个帖子的事了。
1.Microsoft .NET Framework 4(x86 和 x64)
2.Microsoft .NET Framework 4 Client Profile(x86 和 x64)
3.Microsoft Visual F# Runtime for .NET 2.0
4.Microsoft Visual F# Runtime for .NET 4.0
对于“Microsoft .NET Framework 4 Client Profile(x86 和 x64)”系统必备项,系统可能会显示下面的生成错误:
“MSB3152: 系统必备的安装位置未设置为‘组件供应商的网站’,无法在磁盘上找到项‘Microsoft .NET Framework 4 Client Profile (x86 和 x64)’中的文件‘DotNetFX40Client/dotNetFx40LP_Client_x86_x64cs.exe’。 有关详细信息,请参见‘帮助’。”
这是由于可再发行语言包的位置不正确或缺失导致的 ClickOnce 发布失败。
下面我们就以“Microsoft .NET Framework 4 Client Profile(x86 和 x64)”为例,其它三个也需要依葫芦画瓢。另外,如果选了Microsoft .NET Framework 4(x86 和 x64),就不需要再勾选 Microsoft .NET Framework 4 Client Profile(x86 和 x64)了,它们之间应该是整体与部分的关系。
1.导航到文件夹“%ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX40Client”。 对于 x64 操作系统,该路径位于 %ProgramFiles(x86)% 下。 2.若使用的简体 VS2010,则创建新文件夹,命名为 zh-chs;若是繁体的,则新文件夹名为 zh-cht。 3.若使用的简体 VS2010,将 zh-Hans 文件夹内的文件复制到 zh-chs 文件夹内;若是繁体的,则复制 zh-Hant 文件夹内容到 zh-cht。 4.在管理员模式下打开 Package.xml。 5.若使用的简体 VS2010,找到 <String Name=”Culture”>zh-hans</String>,并将 zh-hans 改为 zh-chs;若是繁体的,则替换 zh-Hant 为 zh-cht。
完成上面的修改后,再发布程序。OK了?那你很幸运!
还报错,提示未能找到文件“C:/Program Files/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX40Client/cs/dotNetFx40LP_Client_x86_x64cs.exe”。
恭喜你,幸运仍然伴你左右,因为下面就有解决的办法。如果不是类似的错误,那你就要做好思想准备了,Good luck! bye bye.
言归正传,也许你已经注意到了,在 Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX40Client 文件夹中有许多文件夹,多是以简单的几个字母命名,其实他们对应各国的语言包,文章的最后列出了常见的国名与缩写对照表,cs 是指捷克,上面的错误实际是因为缺少捷克的语言包造成的(1搞不懂发布简繁体的程序为什么需要捷克的语言包)。
接下来我们打开 cs 文件夹中的 Package.xml 文件,找到 DotNetFX40ClientLanguagePackBootstrapper 元素,其值是 http://go.microsoft.com/fwlink/?linkid=164196&clcid=0x405,这就是下载捷克语言包的地址,不用试了,下不了的,微软做了处理,会自动定向下载请求者所在国家的语言包(2搞不懂,既然有了自动重定向,干吗还要提供不同的地址)。
让我们继续吧,别再管什么语言包了,发布简繁的中文程序不需要其它国家的语言,VS 2010 要,那就给它的假的,走形势而已,把 zh-chs 文件夹里的中文语言包复制一个到 cs 文件夹,并重命名为 dotNetFx40LP_Client_x86_x64cs.exe。如果你是一个"正直的人",看不惯弄虚做假这一套,可以到这里下载正版的捷克语言包。好了,现在去发布程序,应该没什么问题了,再有问题也不是这个帖子的事了。
相关文章推荐
- ClickOnce部署出现 系统必备的安装位置未设置为组件供应商的网站,无法在磁盘上找到 dotNetFx40LP_Client_x86_x64cs.exe 问题的解决方案
- [转]ClickOnce部署出现 系统必备的安装位置未设置为组件供应商的网站,无法在磁盘上找到 dotNetFx40LP_Client_x86_x64cs.exe 问题的解决方案
- 4步搞定:系统必备的安装位置未设置为组件供应商的网站,无法在磁盘上找到 dotNetFx40LP_Client_x86_x64cs.exe 问题的解决方案 VS2010 SP1 简体中文测试通过,繁体未测试
- VS2010 发布 出错 无法在磁盘上找到项‘Microsoft .NET Framework 4 Client Profile (x86 和 x64)’中的文件‘DotNetFX40Client\dotNetFx40LP_Client_x86_x64cs.exe 的解决办法
- android开发问题-关于Xutils框架出现无法访问HttpRequestBase 找不到org.apache.http.client.methods.HttpRequestBase解决方案
- 关于重装系统中出现的无法找到磁盘和无法定位当前磁盘的问题
- 解决vs2010无法找到System.Data.OracleClient的引用问题
- Unity3d打包APK出现的问题—无法找到tool.jar
- 关于IIS部署时出现“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”的问题解决摘要
- .Net下使用System.Data.OracleClient出现“ORA-12154问题“TNS: 无法处理服务名”问题的解决
- BI publisher 安装完出现 “由于宏安全设置,无法找到宏或宏被禁用”的问题解决方法
- 关于Xutils框架出现无法访问HttpRequestBase 找不到org.apache.http.client.methods.HttpRequestBase解决方案
- 部署到IIS上的网站打开时总是显示无法找到资源解决方案
- PSI部署出现重定向次数过多问题的解决方案
- 关于axis2的RPCServiceClient客户端无法传参问题的解决方案
- .net下灰度模式图像在创建Graphics时出现:无法从带有索引像素格式的图像创建graphics对象 问题的解决方案。
- 自己架设的iis出现 “无法找到该页”解决方案
- 关于eclipse运行时出现“无法找到或加载主类”的一种情况的解决方案
- Tomcat部署servlet小应用无法找到相应的servlet类的问题可能原因
- 部署 .NET WebService 时出现“无法生成临时类(result=1)。 error CS2001: 未能找到源文件“C:/WINDOWS/TEMP/3u8uo8bq.0.cs” error CS2008: 未指定输入”