-
Notifications
You must be signed in to change notification settings - Fork 472
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hosting Process "File Lock"'s are causing Dynamic Proxy to fail on win10-x64 #253
Comments
This is only a problem for unit tests because they persist their dynamic assembly to the test working directory so the Oh, I thought you said you had this problem also when running on the build server which doesn't have VS or ReSharper. Does this only occur when you are running unit tests at the same time in both ReSharper and CLI? Or is a ReSharper process holding a file lock just sitting there idle? |
This might also be a problem in appveyor. See here: https://ci.appveyor.com/project/fir3pho3nixx/core/build/4.0.37 Errors, Failures and Warnings
It happens when resharper is sitting there idle. Sometimes ... |
The error with [Test]
public void SaveWithPath()
{
var strongModulePath = Path.GetTempFileName(); //<<<<<<<<<<
var weakModulePath = Path.GetTempFileName(); //<<<<<<<<<<
File.Delete(strongModulePath);
File.Delete(weakModulePath);
Assert.IsFalse(File.Exists(strongModulePath));
Assert.IsFalse(File.Exists(weakModulePath));
var scope = new ModuleScope(true,false, "Strong", strongModulePath, "Weak", weakModulePath);
scope.ObtainDynamicModuleWithStrongName();
scope.ObtainDynamicModuleWithWeakName();
scope.SaveAssembly(true);
scope.SaveAssembly(false);
Assert.IsTrue(File.Exists(strongModulePath));
Assert.IsTrue(File.Exists(weakModulePath));
File.Delete(strongModulePath);
File.Delete(weakModulePath);
} |
Will pick this up once I have made some more progress on #241 I think I have some idea's. http://stackoverflow.com/questions/1134048/generating-net-crash-dumps-automatically |
Closing due to several years of inactivity. |
Dynamic proxy uses static assembly names for generation of proxy types. This is very much needed when it comes to strong naming assemblies and declaring friend assemblies. The trouble is you cannot control what hosting processes(or consumers of Castle DP) do.
A file lock on "CastleDynProxy2.dll" via a test run in Resharper, will cause an I/O collision when running tests via the console.
Is there perhaps a way of creating a "bottom up" way of revealing this?
The text was updated successfully, but these errors were encountered: