Грешка в Visual Studio 2015 package.appxmanifest за ms-appx-web в началната страница?

Създавам Javascript Windows 10 Universal приложение. Той се оплака от използването на javascript inline с html - поради наличието на скриптови тагове в моя .html файл.

„CSP14312: Ресурсът е нарушен директива „script-src ms-appx: „unsafe-eval“ в Host Defined Policy: inline script. Ресурсът ще бъде блокиран.“

Така че направих проучване онлайн и се оказа, че мога да избегна тази грешка, като направя две неща:

Отворете package.appxmanifest:

  1. добавете към началната страница:

    Начална страница="ms-appx-web:///index.html"

  2. Добавете към package.appxmanifest:

    ‹uap:ApplicationContentUriRules› ‹uap:Rule Match="ms-appx-web:///" Type="include" WindowsRuntimeAccess="allowForWebOnly" /› ‹/uap:ApplicationContentUriRules›

(Правилно прочетохте: имаме нужда от 3 наклонени черти... ///)

Сега това работи чудесно и програмата ми работи сега без грешки. Но забелязах, че ако променя началната страница чрез GUI, тогава тя не може да я запази, защото се оплаква, че е незаконен uri. Така че единственият начин, по който можех да направя това, беше да щракна с десния бутон върху package.appxmanifest и да избера „преглед на кода“ и след това да го направя чрез код. (Всъщност #2 по-горе може да се направи само чрез код).

Може би някой може да ме подскаже, направих ли нещо нередно? Ето екранна снимка, правеща това чрез GUI:

Грешка в сравнение с 2015 г.?


person Shai UI    schedule 05.10.2015    source източник


Отговори (1)


Видях, че е подаден подобен бъг - когато използвате същия формат на URI в настройката на URI за съдържание на манифеста, възниква същият проблем. Това е така, защото има правило, което проверява дали uri има хост. Ако хостът на uri е нулев или празен, проверката на uri е неуспешна.

Изглежда екипът на VS обмисля премахването на това правило, така че мисля, че ще бъде коригирано в бъдеща версия, но не мога да кажа коя актуализация ще има корекцията.

person Alan Yao - MSFT    schedule 05.10.2015