我有一个奇怪的问题,希望有人可以帮助我。
我有一个包含13个独立C#项目的解决方案。我正在使用Vista x64进行开发,我想构建这些项目以针对x86平台。这通常很容易。我可以去解决方案属性 - >配置属性并将平台更改为x86。这里奇怪的部分是我的3个项目拒绝让我选择x86。
所以,我想我会分别去这3个项目中的每个项目并在项目属性中更改它 - >生成并更改平台。并且这些项目没有配置和平台下拉列表。我用Google搜索了一下,在Tools-> Options-> Projects And Solutions-> Show Advanced build configuration中找到了一个设置。选择此项后,当进入违规项目的项目属性时,我现在看到两个下拉列表,但平台只允许我选择活动(任何CPU)。
对于这些项目,我也无法将解决方案属性中的平台更改为x86。
有什么想法吗?
答案 0 :(得分:10)
听起来像构建配置已经搞砸了。在将解决方案配置为支持x86之后,可能会添加这三个项目(新项目仅支持AnyCPU,即使该解决方案支持更多平台。)
在解决方案和单个项目之间获得一致的配置/平台可能会非常棘手。 Configuration Manager可能会出现意外行为 - 尤其是使用自定义解决方案配置时。我建议先用测试解决方案。
答案 1 :(得分:2)
我也在x64上开发并部署到x86。但是我没有从默认值(任何CPU)更改平台,它对我来说很好。您是否有任何代码(例如Win interop)在不同平台上的工作方式不同?查看this post by Hanselman以获取有关32/64位.NET目标的详细信息。
答案 2 :(得分:0)
我会比较csproj文件的文本内容,看看是否有任何设置已经意外丢失或进入。还要查看sln的内容,也许有一些奇怪的配置。
此致
Sebastiaan
答案 3 :(得分:-2)
对于Visual Studio 2010.要运行Access 12.0:在解决方案资源管理器中单击项目名称,选择“属性 - 构建* - 目标平台 - x86”。