powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / PrivateFontCollection лочит папку на удаление
6 сообщений из 6, страница 1 из 1
PrivateFontCollection лочит папку на удаление
    #38814074
systemio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привет.
есть такой тест

[TestMethod]
public void TestMethod_CommonTest2()
{
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Fonts2");
IEnumerable<string> fonts = Directory.GetFiles(path);
using (FontTextPainter p = new FontTextPainter())
p.LoadFonts(fonts);
}

и такой класс
...
Рейтинг: 0 / 0
PrivateFontCollection лочит папку на удаление
    #38814079
systemio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(блин нажал на ктрл-ентер)
и такой класс

public sealed class FontTextPainter : IDispose
{
private PrivateFontCollection Fonts { get; set; }

public void LoadFonts(IEnumerable<string> files)
{
if (files == null)
throw new ArgumentNullException("files");

foreach(string file in files)
Fonts.AddFontFile(file);
}

public void Dispose()
{
if (Fonts != null)
Fonts.Dispose();
}
}

после того как тест прогонится , то папка Fonts2 лочится на удаление.
подскажите какие еще ресурсы я забыл удалить?
...
Рейтинг: 0 / 0
PrivateFontCollection лочит папку на удаление
    #38814125
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
systemio, это явно не весь код. Выложи пример который можно проверить. И используй тег SRC для оформление кода.
...
Рейтинг: 0 / 0
PrivateFontCollection лочит папку на удаление
    #38814127
systemio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,

это весь минимальный код который я тестирую (разве что конструктор по умолчанию создает переменную Fonts)

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
	public sealed class FontTextPainter : IDispose
	{
		private PrivateFontCollection Fonts { get; set; }

		public FontTextPainter()
		{
			Fonts = new PrivateFontCollection();
		}

		public void LoadFonts(IEnumerable<string> files)
		{
			if (files == null)
				throw new ArgumentNullException("files");

			foreach(string file in files)
				Fonts.AddFontFile(file);
		}

		public void Dispose()
		{
			if (Fonts != null)
				Fonts.Dispose();
		}
	}


запускаю только один тест

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
		[TestMethod]
		public void TestMethod_CommonTest2()
		{
			string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Fonts2");
			IEnumerable<string> fonts = Directory.GetFiles(path);
			using (FontTextPainter p = new FontTextPainter())
				p.LoadFonts(fonts);
		}
...
Рейтинг: 0 / 0
PrivateFontCollection лочит папку на удаление
    #38814430
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
systemio, Dispose() должен всё освободить по идее. Других завязок на каталог Fonts2 здесь нет. Попробуй выполнить полную сборку мусора:
Код: c#
1.
2.
3.
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
...
Рейтинг: 0 / 0
PrivateFontCollection лочит папку на удаление
    #38815398
systemio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выяснилась странное поведение.
1. если тест дебажить RightClick->Debug Tests (без брекпоинтов), то папка не лочится и удаляется сразу.
2. но вот если тест запускать RightClick->Run Tests , то папка лочится

кто сталкивался с подобным!?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / PrivateFontCollection лочит папку на удаление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]