1. 主页 > vs安装问题 > VS2010安装问题 >

vs2010打包系统必备选择.net framework 3.5sp1编译错误

利用visual studio 2010进行打包程序,默认安装的是Framework 4.0,如果需要将3.5sp1打包到系统中一起安装(选择了"从与我的应用程序相同的位置下载系统必备组件"时),会提示很多诸如此类错误“系统必备组件的安装位置未设置为“组件供应商的网站”,无法在磁盘上找到项“.NET Framework 3.5 SP1”中的文件“DotNetFX35SP1/DotNetFX35/x64/dotnetfx35langpack_x64zh-CHS.exe”。 原因分析:原因是在相应文件夹下面,找不到.net 3.5 sp1的相关模块。解决方法:通过网络可以查到visual studio 2010相应的模块目录是:%ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/。 步骤一:需要从网站上下载以下三个软件包①.net 3.5 sp1离线安装包http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe②3.5 sp1的64位语言包http://download.microsoft.com/download/7/7/b/77b96978-c805-4674-a9b0-43351e86b41f/dotnetfx35langpack_x64zh-CHS.exe③3.5 sp1的32位语言包http://download.microsoft.com/download/7/7/b/77b96978-c805-4674-a9b0-43351e86b41f/dotnetfx35langpack_x86zh-CHS.exe 步骤二:将下载到的①“.net 3.5 sp1离线安装包”用winrar解压,并将解压后的内容../wcu/dotNetFramework/下的所有文件(dotNetFX20、dotNetFX30、dotNetFX35、dotNetMSP 文件夹和文件 dotNetFx35setup.exe)复制到%ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1 目录中。 步骤三:在目录“%ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/zh-Hans ”下,新建文件夹“dotNetFX35”,然后在“dotNetFX35下面再建两个文件夹x64和x86”。即dotNetFX35/x64和dotNetFX35/x86。然后将dotnetfx35langpack_x64zh-CHS.exe拷贝到dotNetFX35/x64下面,将dotnetfx35langpack_x86zh-CHS.exe拷贝到dotNetFX35/x86下边。此步为止,生成打包可以正常通过。 步骤四:步骤三完成后,虽可以编译成功,但会几个警告提示。如下:“.NET Framework 3.5 SP1”中“PublicKey”特性的值与文件“C:/Program Files/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/dotNetFX30/XPSEPSC-x86-en-US.exe”的该特性值不匹配。这是因为 XPSEPSC-x86-en-US.exe 的 publicKey 与 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/product.xml 文件中标记的 publicKey 不同造成的。要想消除警告,我们需要手工帮它匹配上。      主要是“PublicKey”的问题:可以采取一下步骤解决:            首先,定位到错误提示的文件“XPSEPSC-x86-en-US.exe”,然后右键→属性→数字签名→详细信息→查看证书→公钥,然后复制文本框里面的二进制文本,去掉空格并复制信息。      然后,打开将复制的信息,%ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/product.xml文件,搜索找到“XPSEPSC-x86-en-US.exe”,将其对应的 publicKey 替换成刚才处理好的字符串就 OK 了。            对于:“XPSEPSC-amd64-en-US.exe”采用同样的处理方式。

通过上诉的方法本人也尝试了,但是没有彻底解决问题,后来重新安装了VS2008以及VS2008SP1补丁才解决。

本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2010anzhuangwenti/2020/0724/2681.html

联系我们

在线咨询:点击这里给我发消息

微信号:PREEE8

工作日:9:30-18:30,节假日休息