<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>Комментарии на: Выполнение кода сразу после загрузки .NET-dll</title>
	<atom:link href="https://autolisp.ru/2010/02/12/load-and-execute-dotnet/feed/" rel="self" type="application/rss+xml" />
	<link>https://autolisp.ru/2010/02/12/load-and-execute-dotnet/</link>
	<description>LISP для AutoCAD</description>
	<lastBuildDate>Tue, 24 Feb 2026 16:11:05 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0</generator>
	<item>
		<title>От: Andrey</title>
		<link>https://autolisp.ru/2010/02/12/load-and-execute-dotnet/comment-page-1/#comment-51187</link>
		<dc:creator><![CDATA[Andrey]]></dc:creator>
		<pubDate>Mon, 25 Nov 2013 04:58:49 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=1571#comment-51187</guid>
		<description><![CDATA[&gt;Но предсказать такое, мне кажется, достаточно проблематично.

Ну да, это только путём проверки на практике. :) Однако это не означает, что в качестве перестраховки нужно  все библиотеки подряд пытаться подгрузить в контекст каждого документа в рамках текущей сессии AutoCAD. Просто по хорошему, контекст загрузки должен быть указан программистом в текстовом описании (обычно это файл readme.txt), поставляемом совместно с библиотекой. В этом случае пользователь, или CAD администратор, сразу поймёт, &quot;достаточно ли одной таблетки&quot;. 

Хотя, я не знаю, какое поведение реализовано в Startup Suite для зарегистрированных в нём ARX приложений: возможно он определяет контекст ARX модуля, и исходя из этого либо грузит библиотеку единожды, либо вообще не парится с этим вопросом и грузит в контекст каждого документа. Можно было бы заморочиться с проверкой этого вопроса но, честно говоря, мне это не шибко интересно :)]]></description>
		<content:encoded><![CDATA[<p>&gt;Но предсказать такое, мне кажется, достаточно проблематично.</p>
<p>Ну да, это только путём проверки на практике. <img src="https://autolisp.ru/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> Однако это не означает, что в качестве перестраховки нужно  все библиотеки подряд пытаться подгрузить в контекст каждого документа в рамках текущей сессии AutoCAD. Просто по хорошему, контекст загрузки должен быть указан программистом в текстовом описании (обычно это файл readme.txt), поставляемом совместно с библиотекой. В этом случае пользователь, или CAD администратор, сразу поймёт, "достаточно ли одной таблетки". </p>
<p>Хотя, я не знаю, какое поведение реализовано в Startup Suite для зарегистрированных в нём ARX приложений: возможно он определяет контекст ARX модуля, и исходя из этого либо грузит библиотеку единожды, либо вообще не парится с этим вопросом и грузит в контекст каждого документа. Можно было бы заморочиться с проверкой этого вопроса но, честно говоря, мне это не шибко интересно <img src="https://autolisp.ru/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Кулик Алексей aka kpblc</title>
		<link>https://autolisp.ru/2010/02/12/load-and-execute-dotnet/comment-page-1/#comment-51186</link>
		<dc:creator><![CDATA[Кулик Алексей aka kpblc]]></dc:creator>
		<pubDate>Mon, 25 Nov 2013 03:16:45 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=1571#comment-51186</guid>
		<description><![CDATA[Согласен. Но предсказать такое, мне кажется, достаточно проблематично. Тот же самый dwgconvert от Александра Ривилиса грузится в контекст документа, мне кажется.]]></description>
		<content:encoded><![CDATA[<p>Согласен. Но предсказать такое, мне кажется, достаточно проблематично. Тот же самый dwgconvert от Александра Ривилиса грузится в контекст документа, мне кажется.</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Andrey</title>
		<link>https://autolisp.ru/2010/02/12/load-and-execute-dotnet/comment-page-1/#comment-51185</link>
		<dc:creator><![CDATA[Andrey]]></dc:creator>
		<pubDate>Sun, 24 Nov 2013 17:57:56 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=1571#comment-51185</guid>
		<description><![CDATA[&gt;Добавлю: нередко приходится загружать arx-сборки. А это уже касается и контекста документа.

Я же писал, что контекст зависит от программиста, написавшего код:
&gt;Плагины ARX могут быть загружены как в контексте приложения, так и в контексте документа (на усмотрение программиста).]]></description>
		<content:encoded><![CDATA[<p>&gt;Добавлю: нередко приходится загружать arx-сборки. А это уже касается и контекста документа.</p>
<p>Я же писал, что контекст зависит от программиста, написавшего код:<br />
&gt;Плагины ARX могут быть загружены как в контексте приложения, так и в контексте документа (на усмотрение программиста).</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Кулик Алексей aka kpblc</title>
		<link>https://autolisp.ru/2010/02/12/load-and-execute-dotnet/comment-page-1/#comment-51184</link>
		<dc:creator><![CDATA[Кулик Алексей aka kpblc]]></dc:creator>
		<pubDate>Sun, 24 Nov 2013 17:39:17 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=1571#comment-51184</guid>
		<description><![CDATA[Добавлю: нередко приходится загружать arx-сборки. А это уже касается и контекста документа.]]></description>
		<content:encoded><![CDATA[<p>Добавлю: нередко приходится загружать arx-сборки. А это уже касается и контекста документа.</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Кулик Алексей aka kpblc</title>
		<link>https://autolisp.ru/2010/02/12/load-and-execute-dotnet/comment-page-1/#comment-51183</link>
		<dc:creator><![CDATA[Кулик Алексей aka kpblc]]></dc:creator>
		<pubDate>Sun, 24 Nov 2013 16:56:53 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=1571#comment-51183</guid>
		<description><![CDATA[&lt;blockquote&gt;&gt;То, что ты назвал “загрузкой в dwg” – это контекст приложения.

Очепятка, хотел написать “- это контекст документа”.&lt;/blockquote&gt;
Ну да, контекст документа, если использовать терминологию .NET / ObjecARX программирования :)]]></description>
		<content:encoded><![CDATA[<blockquote><p>>То, что ты назвал “загрузкой в dwg” – это контекст приложения.</p>
<p>Очепятка, хотел написать “- это контекст документа”.</p></blockquote>
<p>Ну да, контекст документа, если использовать терминологию .NET / ObjecARX программирования <img src="https://autolisp.ru/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Андрей</title>
		<link>https://autolisp.ru/2010/02/12/load-and-execute-dotnet/comment-page-1/#comment-51182</link>
		<dc:creator><![CDATA[Андрей]]></dc:creator>
		<pubDate>Sun, 24 Nov 2013 16:48:36 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=1571#comment-51182</guid>
		<description><![CDATA[Т.о. нет смысла пытаться грузить .NET библиотеку повторно, даже если бы это и было возможно: код и так будет доступен во всех документах, доступных в рамках текущей сессии AutoCAD. Следовательно твои опасения напрасны. :)]]></description>
		<content:encoded><![CDATA[<p>Т.о. нет смысла пытаться грузить .NET библиотеку повторно, даже если бы это и было возможно: код и так будет доступен во всех документах, доступных в рамках текущей сессии AutoCAD. Следовательно твои опасения напрасны. <img src="https://autolisp.ru/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Андрей</title>
		<link>https://autolisp.ru/2010/02/12/load-and-execute-dotnet/comment-page-1/#comment-51181</link>
		<dc:creator><![CDATA[Андрей]]></dc:creator>
		<pubDate>Sun, 24 Nov 2013 16:42:28 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=1571#comment-51181</guid>
		<description><![CDATA[&gt;То, что ты назвал “загрузкой в dwg” – это контекст приложения.

Очепятка, хотел написать &quot;- это контекст документа&quot;.]]></description>
		<content:encoded><![CDATA[<p>&gt;То, что ты назвал “загрузкой в dwg” – это контекст приложения.</p>
<p>Очепятка, хотел написать "- это контекст документа".</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Андрей</title>
		<link>https://autolisp.ru/2010/02/12/load-and-execute-dotnet/comment-page-1/#comment-51180</link>
		<dc:creator><![CDATA[Андрей]]></dc:creator>
		<pubDate>Sun, 24 Nov 2013 16:41:34 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=1571#comment-51180</guid>
		<description><![CDATA[&gt;Это одна из причин, по которым я стараюсь загрузку выполнять через mnl / lsp – по крайней мере они грузятся в каждый dwg :)

В dwg ничего не грузится. В AutoCAD существует два контекста: контекст приложения и контекст документа. То, что ты назвал &quot;загрузкой в dwg&quot; - это контекст приложения. LISP плагины грузятся в контекст документа. Функции, загруженные в контекст документа, доступны только из этого документа. Код, загруженный в контекст приложения, доступны во всех документах (как уже открытых, так и тех, что будут открыты в данной сессии позднее). 

Плагины .NET грузятся в контекст приложения. Плагины ARX могут быть загружены как в контексте приложения, так и в контексте документа (на усмотрение программиста).]]></description>
		<content:encoded><![CDATA[<p>&gt;Это одна из причин, по которым я стараюсь загрузку выполнять через mnl / lsp – по крайней мере они грузятся в каждый dwg <img src="https://autolisp.ru/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
<p>В dwg ничего не грузится. В AutoCAD существует два контекста: контекст приложения и контекст документа. То, что ты назвал "загрузкой в dwg" - это контекст приложения. LISP плагины грузятся в контекст документа. Функции, загруженные в контекст документа, доступны только из этого документа. Код, загруженный в контекст приложения, доступны во всех документах (как уже открытых, так и тех, что будут открыты в данной сессии позднее). </p>
<p>Плагины .NET грузятся в контекст приложения. Плагины ARX могут быть загружены как в контексте приложения, так и в контексте документа (на усмотрение программиста).</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Кулик Алексей aka kpblc</title>
		<link>https://autolisp.ru/2010/02/12/load-and-execute-dotnet/comment-page-1/#comment-51179</link>
		<dc:creator><![CDATA[Кулик Алексей aka kpblc]]></dc:creator>
		<pubDate>Sun, 24 Nov 2013 16:21:15 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=1571#comment-51179</guid>
		<description><![CDATA[Это одна из причин, по которым я стараюсь загрузку выполнять через mnl / lsp - по крайней мере они грузятся в каждый dwg :)]]></description>
		<content:encoded><![CDATA[<p>Это одна из причин, по которым я стараюсь загрузку выполнять через mnl / lsp - по крайней мере они грузятся в каждый dwg <img src="https://autolisp.ru/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Андрей</title>
		<link>https://autolisp.ru/2010/02/12/load-and-execute-dotnet/comment-page-1/#comment-51178</link>
		<dc:creator><![CDATA[Андрей]]></dc:creator>
		<pubDate>Sun, 24 Nov 2013 13:54:52 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=1571#comment-51178</guid>
		<description><![CDATA[&gt;Но вот повторная загрузка (лично у меня) код инициализации не вызвала. Как побороть – пока не знаю.

А повторная загрузка и не происходит (попытки игнорируются). Поэтому и нет повторного вызова Initialize(). В домен (AppDomain) можно одну и ту же сборку загрузить только один раз. Выгрузить сборку нельзя, вместо этого следует выгружать домен, которых можно создавать в .NET приложениях столько, сколько потребуется. Однако, поскольку в AutoCAD этот момент реализован через задницу, то там все плагины грузятся в один единый домен. Т.е. выгрузка .NET плагинов в AutoCAD невозможна.]]></description>
		<content:encoded><![CDATA[<p>&gt;Но вот повторная загрузка (лично у меня) код инициализации не вызвала. Как побороть – пока не знаю.</p>
<p>А повторная загрузка и не происходит (попытки игнорируются). Поэтому и нет повторного вызова Initialize(). В домен (AppDomain) можно одну и ту же сборку загрузить только один раз. Выгрузить сборку нельзя, вместо этого следует выгружать домен, которых можно создавать в .NET приложениях столько, сколько потребуется. Однако, поскольку в AutoCAD этот момент реализован через задницу, то там все плагины грузятся в один единый домен. Т.е. выгрузка .NET плагинов в AutoCAD невозможна.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
