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
Add .NET 3.5 Backwards Compatibility #191
Conversation
Conflicts: src/Cassette/CassetteApplicationContainerFactoryBase.cs
…includes in csproj file for Cassette project to support multi-targeting.
…into dotnet-35
Added a new page to website documentation for how to configure Cassette in .NET 3.5
Changed how Nuget packaging works to support multiple framework targeting. Updated Fx35 docs with a gotcha I ran into during testing.
…orkaround in IsolatedStorageFile and opted to throw NotImplementedException instead for LastWriteTime
…uild to 3.5 as well. All tests pass and everything is green. Nuget packages are ackaged correctly based on local feed test. This is a fully stable (and working) commit!
…); Fixed Cassette nuspecs to use Pandora.dll from lib35/lib40 folder.
…; fix NET40 constant not being in Views or Web
…in 4.0 mode; fix OpenFile extension method
…ence for other peeps
@@ -66,7 +66,7 @@ public IEnumerable<IFile> GetFiles(string searchPattern, SearchOption searchOpti | |||
var storage = getStorage(); | |||
return storage.GetFileNames(searchPattern).Select( | |||
filename => new IsolatedStorageFile(GetAbsolutePath(filename), getStorage, this) | |||
); | |||
).Cast<IFile>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another variance thing for 3.5
This is amazing! I've only had time for a quick scan of the commits, but it's looking great. I've just released 1.1.0. I'll do a full review of this pull request and aim to get it merged in for the next release. I'm away most of next week and following weekend, so this may take a little while. It's top of my Cassette to-do list though :) I'll add more inline comments as I'm reviewing. Thanks again! |
No problem! I'm glad to be of service. Just let me know if there things I should add/remove and I'll commit them. |
Merged in your latest v1.1 changes :) |
@andrewdavey, do you want me to try and keep this in-sync with all your latest changes? Or will you be taking care of that when you merge this in? |
If you've got the time to re-sync this branch then please do. I'm very busy this week, so I'll take all the help I can get :) Thanks! |
…ork around dynamic keyword. Including Iron/SASS dependencies in Nuget package instead of as dependency references to keep one Nuget package. Might need to include licenses if we do this.
I synced all the changes, however I don't think we can support SASS just yet for FX35 (or ever?). I was able to compile IronRuby against 3.5, but it seemed to have some underlying references to .NET 4. Furthermore, the SassAndCoffee package is targeted at .NET 4, so we'd need to fix all of that... and finally, the Also, I had to manually include all the SASS dependencies in the lib40 folder of Cassette's Nuget package... this might require us to include the licenses for IronRuby and SassAndCoffee. We could split it out (again, hard for people to upgrade), make it a separate dependency (Cassette.Sass), or wait until Nuget 1.8 (approximately) supports targeted dependencies. PS. I did not try to convert the Jasmine project to FX35. Maybe I'll try later this week but it's dependent on WebActivator, but only to add routes so maybe we can have extra instructions for people when using FX35. |
That's unfortunate. I wonder what the ETA on Nuget 1.8 is? Framework targeted dependencies would solve most of our problems, since I don't mind saying Sass support is only for .NET 4 and above. A temporary solution for .NET 3.5 is to not create a nuget package, but simply provide binaries the old school way i.e. a zip file :) Once Nuget supports targeted dependencies, we can roll them into the main nuget package. |
We could do that, especially now that there is more of a difference between versions (and might continue to be). Could use MSBuild ext pack to zip automatically or else can just copy the required DLLs to a directory and zip it manually to upload to GitHub. Could also go full throttle and auto-upload to Github when using NugetPush target. Since it's temporary, the manual method would probably be just fine. |
I'm okay with a manual approach for now :) |
…leases until Nuget supports targeted dependencies. Output goes to build\Cassette.Fx35-{version}
Alright, it's done... will need to update the web doc though now to include some new steps. |
Nice and clean merge of 1.2.0 done! |
Awesome!! |
Merged! I made some minor edits to remove unused members, internalize some types and cleaned up usings to keep ReSharper quiet :) There's still an odd issue with the Conditional references where ReSharper gets confused an tries to use both. I can probably live with the false error for now. I'll do some more testing and should be able to get a release out next weekend. Thanks again for all the work here. |
Wow, some people are gonna be real happy. Thanks for being patient with all On Tue, Mar 13, 2012 at 5:48 PM, Andrew Davey <
Kamran Ayub |
Pull Request for Issue #168
Goals
Rundown
NET40
andNET35
constants)csproj
files to conditionally reference/include files based onTargetFrameworkVersion
build.xml
to support multi-targetingCassetteHttpModule
starting/stopping Cassette (@andrewdavey's suggestion to avoid a new Nuget package)Potential Issues