Моя проблема заключалась в том, что у меня были другие библиотеки, на которые ссылался мой проект, и на эти библиотеки ссылалась другая версия appcompat. Это то, что я сделал, чтобы решить эту проблему:
(Вы должны сделать резервную копию своего проекта, прежде чем делать это)
1) Я удалил все папки макета appcompat (например: / res / layout- V11).
2) Решил возникшие проблемы, обычно ошибка в menu.xml
3) Вернитесь в основной проект и добавьте библиотеку appcompat, очистите, и все работает!
Сначала вам нужно удалить исходный файл. Важно различать - когда вы работаете с изображениями в .NET, вы работаете с объектом в памяти, байты которого были заполнены путем чтения исходного изображения. Вы не работаете с реальным исходным изображением. Поэтому, когда вы собираетесь сохранить этот совершенно новый объект (который использует данные из существующего изображения) и пытаетесь использовать уже используемый путь, вы получите исключение.
Вам также необходимо убедиться, что исходный файл еще не открыт; обязательно удалите исходный файловый поток, который вы использовали для заполнения объекта Image, которым вы управляете. Затем удалите, затем сохраните.
Если вы загружаете изображение, используя метод, описанный в следующей строке
Image imgPhoto = Image.FromFile("myphoto.jpg");
, то это сохраняет дескриптор файла открытым, поэтому при попытке перезаписать файл все еще используется, и поэтому вы не можете писать ему.
Чтобы обойти это, если вы загружаете файл в поток, это позволяет вам перезаписать исходный файл, поскольку дескриптор файла был освобожден, поскольку информация об изображении была записана в память.
Вы можете сделать это в следующим образом:
FileStream fs = new FileStream("myphoto.jpg", FileMode.Open);
Image imgPhoto = Image.FromStream(fs);
fs.Close();