2015-04-30 2 views
18

Я обновляю Windows, универсальный проект, который был создан сWindows Universal приложение - нет «Любой процессор» для Windows 10?

Windows, комплект разработки программного обеспечения (SDK) для Windows 10 Технические Просмотр

в

Windows Software Development Kit (SDK) for Windows 10 Insider Preview:

Так Изменения в файле решения: VisualStudioVersion от 14.0.22609.0 - 14.0.22823.1.

изменения в файле проекта также являются незначительными:

<TargetPlatformVersion>10.0.10030.0</TargetPlatformVersion> 
<TargetPlatformMinVersion>10.0.10030.0</TargetPlatformMinVersion> 

в

<TargetPlatformVersion>10.0.10069.0</TargetPlatformVersion> 
<TargetPlatformMinVersion>10.0.10069.0</TargetPlatformMinVersion> 

Вопрос заключается в том, что изначально этот универсальный проект был успешно построен против Любые конфигурации CPU, но теперь я м начали получать следующую ошибку:

The processor architecture of the project being built "Any CPU" is not supported by the referenced SDK "Microsoft.NET.CoreRuntime, Version=1.0". Please consider changing the targeted processor architecture of your project (in Visual Studio this can be done through the Configuration Manager) to one of the architectures supported by the SDK: "x86, x64, ARM".

Так сообщение ясно, что делать, просто хочу, чтобы подтвердить:

Это действительно так, что Любой процессор больше не возможно для универсальных проектов, начиная с «SDK для Windows 10 Insider Preview»?

Update

Там нет AnyCPU для вновь созданного проекта, а также - по умолчанию один x86.

+0

Помните, что вы используете SDK, который может и будет меняться, ошибки и все. – SteveFerg

+0

@SteveFerg, конечно. Интересно, насколько это может быть «по дизайну» или просто ошибка. – Sevenate

+1

это удивительно для меня, как будто, вроде как требование, а не ошибка. Это так и с файлом нового проекта, а также поддержка Any Cpu – Quincy

ответ

19

И вот приходит answer:

  1. Open your solution that contains your C# Windows Universal app. You will see that your project file (.csproj file) needs to be updated. Right-click the project file and choose to edit this file.

  2. Find the <PropertyGroup> element that contains the <TargetPlatformVersion> ... Next, set the value of the <Platform> element to x86 ...

  3. Find <PropertyGroup> elements that are configured for the AnyCPU platform as part of the Condition attribute. Remove these elements and all of their child elements. AnyCPU is not supported for Windows 10 apps in Visual Studio 2015 RC.

UPDATE 1

Из этого видео - Deep Dive into XAML and .NET Universal Windows App Development, вперед 0:32:28 - похоже, есть (маленький) шанс вернуть «Любой CPU» в релиз:

Screenshot from Deep Dive into XAML and .NET Universal Windows App Development video

UPDATE 2

еще одно подтверждение Visual Studio 2015 RC fixed bugs and known issues:

The AnyCPU platform configuration is not supported for Windows 10 Insider Preview applications that are built by using C# and Visual Basic. This release of Visual Studio uses the .NET Native to build Windows 10 applications. The .NET Native compiles C# and Visual Basic code to native code and is not CPU-agnostic.

Так что, мне кажется, что надежда на возвращение "AnyCPU" конфигурации почти не осталось даже для VS2015 RTM.

UPDATE 3

Ну, the RTM is finally here как и ожидалось - no AnyCPU:

Find elements that are configured for the AnyCPU platform as part of the Condition attribute. Remove these elements and all of their children. AnyCPU is not supported for Windows 10 apps in Visual Studio 2015.

+0

Приятное спасибо. Мы его назвали - AnyCPU не поддерживается!Wow interesting – Quincy

+0

Будет ли поддерживаться в финальном VS2015? –

+0

@RicoSuter возможно :) – Sevenate

1

Я предполагаю, что вы нажимаете правой кнопкой мыши на свой проект, выбрав Свойства. В верхней строке «Build» под платформой вы имеете ARM, x64, x86 и все платформы. Немного дальше в группе «Общая» группа «Платформа», которая дает вам любой процессор, x86, x64 и ARM.

Если вы ищете Configuration Manager (build-> Configuration Manager), вы правы, есть только ARM, x64, x86, new ... и edit .... Если вы нажмете New. . «Любой процессор» - это опция (по умолчанию), которую вы можете добавить, а затем вы можете вернуться и выбрать ее для своей конфигурации.

+1

Действительно надеялся, что это сработает, но, к сожалению, все еще получило ошибку, указанную в вопросе, даже после изменения конфигурации везде в любом CPU. Я подозреваю, что ключевыми словами здесь будут: «... любой ЦП не поддерживается» по указанному SDK »и« ... одна из архитектур, поддерживаемых SDK_: «x86, x64, ARM». – Sevenate

3

Ну AnyCPU еще там DLL и среды выполнения Windows компонентных типов проекта. Отсутствие AnyCPU вызвано использованием .NET Native по умолчанию для приложений Universal Windows в конфигурации Release. Как вы, возможно, знаете, .NET Native связывает приложение и все его зависимости в одном EXE, поэтому AnyCPU все еще будет там для DLL и компонентов WinRT.

Теперь я не уверен, но ребята из DevDiv, похоже, собирают отзывы об «невыполнении» .NET-родной, поэтому AnyCPU все же может вернуться к моменту или после RTM, если на это достаточно обратной связи. Тем не менее, я считаю, что .NET Native стоит того, так как вы обычно развертываете свои приложения через Store в любом случае.

+0

Я бы сказал, что, как правило, я развертываю _my_ приложения именно через боковую загрузку, а из магазина я развертываю _другие приложения для людей. – Sevenate

+0

Но в любом случае хорошо иметь AnyCPU, по крайней мере, для проектов компонентов времени исполнения. – Sevenate

+2

Я «парень девидов». .NET Native является обязательным для приложений магазина. Единственное, что Unni намекало на «поиск обратной связи», - это если вы любите AnyCPU достаточно, то, возможно, мы сможем «подделать это», то есть сделать так, чтобы вы могли выбрать AnyCPU, и он запрашивает ваше целевое устройство, как какая архитектура есть, а затем неявно выбирает эту архитектуру. Само приложение никогда не может быть действительно AnyCPU. –

Смежные вопросы