I'm working with the Saxon library in .net. I recently submitted a report that there may be a bug, but I'd like to work with the source code myself. I downloaded the code from http://sourceforge.net/projects/saxon/files/Saxon-HE/9.5/saxon9-5-1-1source.zip/download.
The download is a zip archive with three folders: api, cmd, and net. The first two contain C# code files and the third contains Java codes files. I want to compile this code to .net, and I understand that it uses a library called IKVM to bridge the gap between .net and Java.
However, coming from a .net background, I don't even see a project file that I can open with Visual Studio. How am I supposed to compile this source?
In the saxon-resources download at
http://sourceforge.net/projects/saxon/files/Saxon-HE/9.5/saxon-resources9-5.zip/download
you will find a "build" directory containing Ant build scripts. You need to run build.xml with target "product-hen". Since the build scripts are designed to build the entire set of Saxon products, you may need to edit out parts that aren't needed. You will also have to make sure the dependencies are satisfied, in particular of course IKVMC itself.
Building Saxon, especially on .NET, is not for the faint-hearted. It can't be done within Visual Studio because VS does not support Java or IKVMC.
Related
I am confused on the basics of using a library. I understand that there is a library called FFMpeg and a wrapper called FFMpegCore so we can use FFMpeg with C#, correct? I downloaded both FFMpeg and FFMpegCore and I have them in my project's folder. Although I didn't perceive any class named FFMpegOptions in either of the file's folders.
I am stuck on how to actually set it up so I can use it in my little project, I never downloaded someone's library before. Can somebody please walk me though the motions of connecting the three of them together?
So far I experimented with:
Add a reference to my project, but there doesn't seem to be any .dll, .tlb, .olb, .ocx or .exe files to add
Add an existing project to my solution. There is a project called FFMpegCore.csproj but adding it raises a missing SDK error. Weirdly enough, opening the same project as a standalone doesn't raise any issues which makes me thing the operation I am trying is inadequate.
I am sure this is a silly and easy setup to perform but I just don't know enough to find a solution.
First you must download and install ffmpeg on your machine, (to test that it is working correctly, open a CMD and execute "ffmpeg", it will return the installed version.
Second, create a new project, (I recommend .NETFramework) once your project is created, it is necessary to install the package from NuGet, this function is found in tools> NuGet Package Manager> Manage packages for solutions...>
Then search for FFmpegCore and install it in your project,
The necessary dependencies will be added, now you can start programming with this Framework,
I recommend the FFMpeg.cs class as an example of the documentation, to start with.
Good Luck.
It's my first post here, so I hope I do anything right.
I'm working for a company that is developing a .NET Core application inside Windows, using c# and VS 2019. The version I'm using of .NET Core is 3.1. Visual studio is updated to the latest version (14.5).
We've already written all the UI, and we were wondering if there is any way to generate, from a resx file, the associated localization DLL.
This could be useful, for the translator along Europe to localize the application and test the result inside the application.
I was searching for a way to do that (generate dll from resx) for several days, without being able to correctly find a way to successfully generate this dll from the resx file generated by VS.
Whats I've tried so far:
Using Resgen and al.exe with several parameters and a combination of them. I got the result that the dll was generated but not loaded from the application
Using csc.exe with the input the resx file to be translated. I got as result a dll that was not loaded from the application
Try different version of dotnet SDK, calling "dotnet csc.dll" from the SDK folders, without being able to generate a valid dll loaded from the application
My question now is, is there any way to generate not from inside VS a temporary dll that can be loaded from translator machine to test the application or, the only way is to have the resx file from him and then generate from developer machine the dll and give back to the translator in order to be properly tested?
If not, is there a way to generate the resx built dll from VS Community without having all the source code (as you can imagine, we don't want to redistribute our source)?
Any other ideas on how we can solve this problem?
Another idea that came up to our mind is to create a separate resource project, and distribute that to our translator. I think I'll try this path during the afternoon if no other useful ideas come up from here.
Thanks in advance for any reply to this post.
You can use two methods
1) RegGen + Assembly Linker
Use ResGen.exe to compile the localized .resx files into .resources
Then use AL.exe to link the satellite assembly file
or
2) Use Visual Studio.
Just add the localized .resx file into your csproj file. Next time you build, Visual Studio also builds the satellite assemblies.
Before you can create the satellites you need to have the localized .resx files. Use a localization tool to create them. For example Soluling.
I'm making a load of code bits that will eventually be used in another C# program long term, but I may want to use it in various other apps, and I need to use it easily now as it gradually develops. So I've written a few C#.net DLLs in Visual Studio Express 2017. Two of which reference a 3rd-party DLL (one of which was installed by other software, one of which I just pointed at in Visual Studio), and one of my DLLs references my other 2 DLLs. I've ticked the boxes to COM register my ones and I'm now happily using them from Excel/VBA.
But how do I install it on another Win10 machine in simple steps though, so I can use the same spreadsheets and automation on those computers? (preferably with some explanation of what the steps are actually doing?) I haven't had any luck with the other options I've googled, maybe they're not "idiot proof" enough for me, or my DLLs have dependencies on other DLLs, or I'm getting them from the wrong place.
I assume these are 64-bit DLLs (they're complied for 'Any CPU') so I
want to copy them into the 64-bit place (syswow64)? Or should they go
in system32 as well?
I guess I get them from my 'release', not 'debug' folders?
I also have .pdb and .tlb as well as .dll. Do I need these? Maybe they're the missing piece of the jigsaw?
What's the difference between regsvr and regasm and what should I be using? (Or both).
Also is there a simple way to make a DLL copying and COM registering installer app? And if yes, does that still apply if it's VS Express
2017?
Thanks for the help!
I'm beginning the work of moving an internal class library (.net framework, C#) to a series of nuget .net standard packages, which we will also serve internally. I'm in the research phase.
And I am attempting to research using the VS (2017) debugger and working to create our conventions for where debug versions of the packages (with symbols) will be and where the release versions (without symbols) will be.
I build a small dummy .net standard package in one solution, and have used nuget add to place it in a file share. And I have successfully consumed it in a different solution.
However, when I try to step into the code in the consuming solution, somehow, visual studio is doing something smart and actually stepping me into the source at its ORIGINAL location. Which is fine in some ways of thinking about it, but I want to simulate the situation of a different developer on a different machine consuming the package and not having that original source available, such that the only way to step into packaged code would be to consume a debug version with symbols. But visual studio is foiling me by figuring out the original source location and I don't see how it is doing that.
How can I get VS to be "dumber" so I can simulate on my machine what it would be to consume packages on another machine that didn't have this package source?
Thanks in advance.
How can I get VS to be "dumber" so I can simulate on my machine what it would be to consume packages on another machine that didn't have this package source?
You can try to specify the Symbols of that .net standard project to exclude from automatic loading.
Detail:
As we know:
The Program database (.pdb) files, also called symbol files, map
identifiers and statements in your project's source code to
corresponding identifiers and instructions in compiled apps.
Symbol files also show the location of the source files, and
optionally, the server to retrieve them from.
And the default setting of symbols loading for debugging in Visual Studio is that Load all modules:
That is the reason why Visual Studio smart and actually stepping your into the source at its ORIGINAL location.
So, to resolve this issue, we need to disable Visual Studio "Load all modules", we could specify excluded modules for your .net standard project.
To accomplish this, click the link on that window, then add the name of your .net standard:
Then Visual Studio get to be "dumber", not find the ORIGINAL location.
Hope this helps.
I am writing on an application which works with plugins.
In a main-program i load all plugins by looking for the plugin interface in the assembly.
All my plugins (VB.NET v4.0 and C# v4.0) based on WPF will be recognized, except one. This plugin is using ResourceDictionaries, lots of Templates and subdirectories.
This plugin is written in Visual Studio 2010 and Expression Blend 4 in C# based on WPF 4.0.
Its very odd, because the plugin is recognized in the main program. But after a few tests and builds the main program stops recognizing the plugin.
I made a backup of the working plugin and the plugin, which is not recognized anymore.
The csproj files are pretty much the same and also the settings.
I can't find a solution and google also does'nt know very much about this problem.
If found some infos, that XAML code effects the assembly, so other programs can't recognize it. But there are no specific infos about that and also no solution.
Does anyone know that problem and much better - does anyone know a solution?
Relating to your additional comment (XamlParseException):
Do you referenced the System.Windows.Interactivity.dll in your Main-Project (which is loading the plugin) and in your Plugin-Project?