Результаты поиска
Как ссылаться на несколько версий assembly
Я разрабатываю приложение Sharepoint и использую библиотеку .NET AjaxControlToolkit, мы добавляем пользовательскую страницу aspx в Sharepoint. Sharepoint 2007 работает в режиме причуд, поэтому я внес некоторые изменения в библиотеку AJAX, чтобы заставить ее вести себя так, как она обычно должна. Проблема в том, что другая команда уже использует библиотеку AJAX, и это другая версия с моей. Это вызывает конфликт, потому что в папке bin может быть только один dll с тем же именем.
Из того, что я знаю,.NET должен быть в состоянии справиться с этой ситуацией легко. Я попытался использовать строгое имя и GAC, чтобы решить эту проблему, но он по-прежнему ссылается на dll в папке bin. Если в папке bin нет AjaxControlToolkit.dll, приложение просто не сможет загрузить assembly.
Если я использую полную информацию assembly на моем, как это
<%@
Register
tagprefix="AjaxControlToolkit"
namespace="AjaxControlToolkit"
assembly="AjaxControlToolkit, Version=1.0.299.18064,
PublicKeyToken=12345678abcdefgh,
Culture=neutral"
%>
Это дает мне ошибку компилятора CS0433
Может ли кто-нибудь помочь мне в том, как использовать несколько версий assembly в приложении?
FileNotFoundException для mscorlib.XmlSerializers.DLL, который не существует
Я использую XmlSerializer для десериализации определенного типа в mscorelib.dll
XmlSerializer ser = new XmlSerializer( typeof( [.Net type in System] ) );
return ([.Net type in System]) ser.Deserialize( new StringReader( xmlValue ) );
Это выбрасывает пойманный FileNotFoundException , когда загружается assembly:
"Не удалось загрузить файл или assembly 'mscorlib.XmlSerializers, Версия=2.0.0.0, культура=нейтральная, PublicKeyToken=b77a5c561934e089' или одна из его зависимостей. Система не удается найти указанный файл."
FusionLog:
=== Pre-bind state information ===
LOG: User = ###
LOG: DisplayName = mscorlib.XmlSerializers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86
(Fully-specified)
LOG: Appbase = file:///C:/localdir
LOG: Initial PrivatePath = NULL
Calling assembly : System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\localdir\bin\Debug\appname.vshost.exe.Config
LOG: Using machine configuration file from c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Post-policy reference: mscorlib.XmlSerializers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers.DLL.
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers/mscorlib.XmlSerializers.DLL.
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers.EXE.
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers/mscorlib.XmlSerializers.EXE.
Насколько я знаю, нет mscorlib.XmlSerializers.DLL, я думаю, что имя DLL было автоматически сгенерировано .Net, ищущим сериализатор.
У вас есть возможность создать myApplication.XmlSerializers.DLL при компиляции для оптимизации сериализации, поэтому я предполагаю, что это часть проверки фреймворка.
Проблема в том, что это, по - видимому, вызывает задержку в загрузке приложения-кажется, что оно зависает на несколько секунд в этот момент.
Есть идеи, как этого избежать или ускорить?
Определение Загруженных Сборок
Как я могу определить все сборки, которые мои .NET настольное приложение загрузилось? Я хотел бы поместить их в поле about, чтобы я мог запрашивать клиентов по телефону, чтобы определить, какая версия XYZ у них есть на их PC.
Было бы неплохо видеть как управляемые, так и неуправляемые сборки. Я понимаю, что список будет длинным, но я планирую ударить по нему инкрементным поиском.
Отображение версии базового программного обеспечения в нижнем колонтитуле веб-приложения?
Я думаю о предоставлении версии, скажем, схемы базы данных и dlls для бизнес-логики в нижнем колонтитуле моего веб-приложения.
Разве это советуют?
Есть ли какие-либо подводные камни, или указатели, как сделать это лучше всего?
Проблемы юзабилити?
У меня уже есть схема версий, как для схемы, так и для библиотек DLL, используемых в моем решении CI.
Интернализация класса и методов в .NET Assembly
У меня есть набор из нескольких сборок (один assembly должен использоваться как API, и это зависит от других сборок). Я хотел бы объединить все сборки в одну единственную assembly, но запретить всем сборкам, кроме API, быть видимыми снаружи.
Затем я буду запутывать этот assembly с помощью Ксенокода. Из того, что я видел, невозможно интернализовать assembly с помощью Ксенокода.
Я видел ILMerge от Microsoft, но не смог понять, может ли он делать то, что я хочу. http://research.microsoft.com / ~mbarnett/ILMerge.aspx