2015-05-20 2 views
0

Надеюсь, кто-то может помочь здесь. Я пытаюсь использовать самодельные бродячие боксы, поэтому делаю это без использования Vagrant Cloud.Бродячие метаданные повреждены

Я создал следующий мета-файл данных:

{ 
    "description": "How about this", 
    "name": "Graphite", 
    "versions": [ 
    { 
     "version": "1.8", 
     "providers": [ 
     { 
      "name": "virtualbox", 
      "url": "http://desktopenvironments/Graphite/Graphite_1.8.box" 
     } 
     ] 
    } 
    ] 
} 

Это берется непосредственно из бродяг (несколько не хватает) документации по адресу: http://docs.vagrantup.com/v2/boxes/format.html.

При запуске бродячей надстройки (с картотекой, содержащую этот файл с диска), я получаю:

The metadata associated with the box 'graphite' appears corrupted. 
This is most often caused by a disk issue or system crash. Please 
remove the box, re-add it, and try again. 

Любой помощь, почему это происходит был бы весьма признателен.

+0

удалите коробку, добавьте ее и повторите попытку. –

+0

Я думаю, вы пропустили то, что я делаю. Я упаковал свою собственную коробку и создал файл metadata.json. Этот файл появляется как в поле, так и в окне, которое используется для управления версиями. Когда я делаю бродягу, добавляю в свой авторизованный ящик, я получаю эту ошибку. – BlackSpy

ответ

1

Создал файл метаданных из приложения C#, которое я написал, используя UTF8 для кодирования текста. Этого недостаточно. Вы должны использовать UTF8 без спецификации. После того, как был удален знак байтового заказа, все работает 100 секунд.

var settings = new JsonSerializerSettings() { ContractResolver = new LowercaseContractResolver() }; 
string json = JsonConvert.SerializeObject(metadata, Formatting.None, settings); 
var utf8WithoutBom = new System.Text.UTF8Encoding(false); 
using (var sink = new StreamWriter(outputFilePath, false, utf8WithoutBom)) 
{ 
    sink.Write(json); 
} 
Смежные вопросы