Comments (12)
hey,
yes, Windsor will be updated soon.
As I see, Castle.Core-log4net package is pretty old.
Castle.Core-log4net
3.3 was released just a week ago... not that old I'd say...
as for upgrading to latest log4net it would be a breaking change, since log4net post version 1.2.10 is signed with a different key.
However, I think there's an unofficial package on nuget that points to the latest log4net
from core.
Thanks for response. I'm a big fan of Castle Windsor. I'm developing an application framework upon it (http://www.codeproject.com/Articles/768664/Introduction-to-ASP-NET-Boilerplate). So, I don't want to depend on a unofficial package. What if it is breaking change? Is it hard to change castle? I would want to change and send pull request if I could. Is it possible?
from core.
it’s a breaking change for people using log4net
basically if you’ve got a component in your application using older log4net if we upgrade Castle to use newer log4net your application will break and there seems to be no way around it.
--
Krzysztof Kozmic
From: Halil İbrahim Kalkan [email protected]
Reply: castleproject/Core [email protected]
Date: 5 May 2014 at 8:51:37 pm
To: castleproject/Core [email protected]
Cc: Krzysztof Koźmic [email protected]
Subject: Re: [Core] Castle.Core-log4net update problem (#52)
Thanks for response. I'm a big fun of Castle Windsor. I'm developing an application framework upon it (http://www.codeproject.com/Articles/768664/Introduction-to-ASP-NET-Boilerplate). So, I don't want to depend on a unofficial package. What if it is breaking change? Is it hard to change castle? I would want to change and send pull request if I could. Is it possible?
—
Reply to this email directly or view it on GitHub.
from core.
OK, I understand. But people should update their component. If it is not possible, they just don't upgrade to latest version of castle's log4net intergration. Otherwise, castle will always be dependent to older log4net. It was 2 years ago log4net is updated.
from core.
actually, we might have a solution to that. See #53
from core.
+1 this has to be addressed indeed. 2 years outdated log4net reference is not a good thing. ;)
I tried updating to the latest log4net version but NuGet package manager always blocked it because of Castle.Windsor.
from core.
I think, istead of solution in #53, directly updating the log4net dependency is better. Who want to use older log4net can use older castle log4net intergration package, that's all. Why it's bad?
from core.
I agree that it's bad.
I just grabbed the latest packages of Castle.Windsor, Castle.Core, Castle.Core-log4net and Castle.LoggingFacility from nuget.
I would expect then to get dll:s that work well together. But they didn't.
It's no so much that the log4net reference was an old one, it's that the Castle componenents have a mismatch (version 3.2.0.0 of the Castle.Core and Castle.Services.Logging.Log4netIntegration are expected whereas version 3.3.0.43 are on disk).
I solved it by adding this to App.config:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.3.0.0" newVersion="3.3.0.0" />
</dependentAssembly>
</assemblyBinding>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Castle.Services.Logging.Log4netIntegration" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.3.0.0" newVersion="3.3.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
from core.
Thanks @ottomatic!
Adding
<dependentAssembly>
<assemblyIdentity name="Castle.Services.Logging.Log4netIntegration" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.3.0.0" newVersion="3.3.0.0" />
</dependentAssembly>
fixed it on my side.
from core.
Hi, i'm having the same exact same issue, and the proposed solutions did not work, any other idea?
from core.
I was having the same issue, and the binding redirects above did not work. After taking a look at the version number of the Castle.Services.Logging.Log4netIntegration dll, it noticed it was version 3.2.0.0. So it tried the following and it worked. I find it very odd how they won't upgrade this thing.
<dependentAssembly> <assemblyIdentity name="Castle.Services.Logging.Log4netIntegration" publicKeyToken="407dd0808d44fbdc" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-3.3.0.0" newVersion="3.2.0.0" /> </dependentAssembly>
from core.
I find it very odd how they won't upgrade this thing.
@ssolomon this is a closed issue last active nearly a year ago, if you are having a problem please log a new issue with some reproduction steps. The Castle.Core-log4net 3.3.3 package was shipped in November 2014 well after this issue was created and closed.
from core.
Related Issues (20)
- Calls to other methods within the same class are not being intercepted HOT 4
- Not Intercepted Method is invoked on target, not on proxy. HOT 5
- Random VerificationException/TypeLoadException HOT 5
- it's very slow to create proxy HOT 2
- Log4Net not listed in dependencies HOT 4
- `InvalidProgramException` when proxying `MemoryStream` with .NET 7 HOT 15
- Proxy created with CreateClassProxyWithTarget returns false for Equals on itself HOT 3
- Why TransactionInterceptor.Intercept run at the client HOT 2
- System.InvalidOperationException: Operations that change non-concurrent collections must have exclusive access. HOT 1
- `ArgumentException`: "Could not find method overriding method" with overridden class method having generic by-ref parameter HOT 3
- `ArgumentException`: "Cannot create an instance of `TEnum` because `Type.ContainsGenericParameters` is true" caused by `Enum` constraint on method `out` parameter HOT 4
- Proxy fail to create for create substitute that returns a derived class from abstract that satisfies interface implicitly HOT 5
- Release 5.2.0 HOT 1
- Support by-ref-like (`ref struct`) parameter types such as `Span<T>` and `ReadOnlySpan<T>` HOT 10
- Support "with" for record proxies HOT 4
- CreateInterfaceProxyWithoutTarget and BaseTypeForInterfaceProxy-member
- DictionaryAdapter Nesting Dictionaries JSON like
- Allow to intercept IAsyncEnumerable HOT 1
- ProxyGenerator leaking HOT 2
- MissingMethodException when trying to call a proxy target from different project
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from core.