Я не видел его, но продолжение на сообщение об ошибке, я предполагаю, что что-то застряло, пишущий файл. Я попытался бы перезапустить Ваш svn серверный процесс / сервер перезагрузки.
.NET добавила «Managed Addin Framework», которая могла бы соответствовать всем требованиям. Он имеет следующие особенности:
Большинство подходов к изоляции также ограничивают взаимодействие и интеграцию пользовательского интерфейса. MAF пытается обойти эти ограничения. Это требует, чтобы вы настроили контрактные конвейеры связи, но большую часть работы, которую вы обычно должны делать сами, вы будете выполнять.
Примером может быть соединение частей пользовательского интерфейса, выполняемых в двух отдельных процессах (это волшебство) или возможность поднимать события в домене приложения или процессе. Эти вещи нетривиальны, но MAF очень помогает в этом отношении.
Вот простой пример. Как автор «Shell» вы будете заключать контракт с авторами ваших плагинов. Вот типичный контракт (это просто абстрактный класс):
public abstract class Calculator
{
public abstract double Add(double a, double b);
public abstract double Subtract(double a, double b);
public abstract double Multiply(double a, double b);
public abstract double Divide(double a, double b);
}
Если бы автор плагина хотел написать плагин, он бы просто подклассифицировал этот контракт и добавил бы атрибут «Addin»:
[AddIn("Sample Calculator AddIn", Version="1.0.0.0")]
public class SampleCalculatorAddIn : Calculator
{
public override double Add(double a, double b)
{
return a + b;
}
public override double Subtract(double a, double b)
{
return a-b;
}
public override double Multiply(double a, double b)
{
return a * b;
}
public override double Divide(double a, double b)
{
return a / b;
}
}
And here ' s, как вы загружаете эти надстройки и взаимодействуете с ними:
// In this sample we expect the AddIns and components to
// be installed in the current directory
String addInRoot = Environment.CurrentDirectory;
// Check to see if new AddIns have been installed
AddInStore.Rebuild(addInRoot);
// Look for Calculator AddIns in our root directory and
// store the results
Collection<AddInToken> tokens =
AddInStore.FindAddIns(typeof(Calculator), addInRoot);
// Ask the user which AddIn they would like to use
AddInToken calcToken = ChooseCalculator(tokens);
// Activate the selected AddInToken in a new AppDomain set sandboxed
// in the internet zone. You can find out what this gives access
// to by running "mscorcfg.msc", but essentially this will limit
// any access to the filesystem and other obvious OS services.
// Use of reflection is also very limited in this zone.
Calculator calculator =
calcToken.Activate<Calculator>(AddInSecurityLevel.Internet);
// Run the read-eval-print loop
RunCalculator(calculator);
В этом суть. Очевидно, здесь есть нечто большее, но идею вы уловили.
Хорошая вступительная статья
https://web-beta.archive.org/web/20140820145919/http://msdn. microsoft.com/en-us/magazine/cc163476.aspx
Обзор в MSDN
http://msdn.microsoft.com/en-us/library/bb384200.aspx
System.Addin на Codeplex ( множество примеров)
http://www.codeplex.com/clraddins
Конструктор конвейеров (помогает создать конвейер связи между оболочкой и надстройками)
http: // clraddins. codeplex.com/wikipage?title=Pipeline%20Builder&referringTitle=Home
правила Fx-Cop для System.Addin
http://clraddins.codeplex.com/wikipage?title=Add-in%20FxCop%20Rules& referringTitle = Home
Попробуй ...
Эта обфускация обычно состоит из удаления комментариев и пробелов, кодирования base64, а иногда и других маленьких уловок, таких как полное переименование каждой переменной и т. д., чтобы сделать ее следующей до невозможного для понимания людьми
Я что-то упускаю?Что вы делаете:
[InternalsVisibleTo ("fullNameOfAssemblyFromOtherLibrariesAssemblyInfoFile")]
Это должно быть возможно с помощью безопасности доступа с кодом.
Я нашел эту статью.
http://www.15seconds.com/Issue/040121.htm
Политика домена приложений Уровень будет вашим
РЕДАКТИРОВАТЬ: Довольно сложно предоставить образец кода. Но MSDN должен дать вам несколько хороших подсказок: http://msdn.microsoft.com/en-us/library/yctbsyf4 (VS.71) .aspx