How to bundle windows visual studio VSIX with other built application? - package

I found that the windows visual studio extension is targeted to .net framework and only .net framework (which seems not clearly described in the docs?), after switching our custom mono debugger extension to .net 7.0, with framework not compatible (between vsix project's .net framework 4.8 and debugger project's .net 7.0) error when building the vsix project.
If I switch the debugger project target back to .net framework 4.8 then I can build the extension along with the debugger and create a vsix bundle them togeter successfully.
I tried the previewing visual studio extensibility tools: the out-of-process solution, but the out-of-process way seems not have access to the dte object, thus no way to send the debug adapter launch command. If I use the in-process solution, then we head back to the .net framework target :(
The mono debugger extension is a "3rd party executable file" that launched by visual studio debug adapter. If I manually paste the .net 7.0 version mono debugger to the extension install location, the extension can still work with the debugger. I manage the debugger project and the vsix project within a solution is for easier project management only, in fact they are not referenced directly in code.
I switched our mono debugger project to .net 7.0 is for trying to upgrade our toolset to the newest unified framework (every other tool in our team are upgraded to .net 7.0).
TL;DR, how can we bundle a none .net framework targeted project along with a windows visual studio extension, which is targeted to .net framework only? Or how can we integrate/bundle/add built exe,dlls into the vsix container?

There are some solutions from other stackoverflow answers such as add dlls using vsixmanifest, but it can only add dll file, and the way it handle asset file seems not quite right, it just copy the dll to vsix project folder once, meaning it won't get updated when the dll's project rebuild.
Here I managed to bundle the files in a wonky way:
I create a publish folder under vsix project folder,
then copy the published debugger project file to it, add them as existing file to vsix project, and configure them as vsix content, copy to vsix,
then add a pre-build event for the vsix project, publishing our debugger project and output to this publish folder.
With process above, I can package the published file into vsix when trigger vsix project build.
For anyone have similar issue, you can have a try.

Related

Why does my Windows Application Packaging project think my solution is a net 6 solution?

My solution is a net 5 solution. I've been through all of the nuget packages to make sure they are all 'net5' compatible and checked that all the .csproj target frameworks do indeed say net5.0 yet when I go to package my application (MyProj.Installer - Windows packaging application) it shows me a warning:
Warning NU1702 ProjectReference 'C:\Users\rich-\source\repos\MyProjGit\MyProj\MyProj.csproj' was resolved using '.NETCoreApp,Version=v6.0' instead of the project target framework '.NETFramework,Version=v4.5.1'. This project may not be fully compatible with your project. MyProj.Installer C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 1718
I have no idea where it is getting .NETFramework,Version=v4.5.1 from as the oldest version my project has ever been is 4.7.2 but more to the point it thinks it is a net6 application when it is a net5 application.
It goes through and packages the app as an msix file and I can install it after signing of course however the app fails to launch and I believe the reason is down to the warning I describe above. Am I missing any steps for packaging a net 5 application? I've taken the exact steps I have for a net framework application that have worked in the past.
So the app not loading was two fold. The app primarily didn't load as Entity Framework core 5 is referencing the wrong version of SQL Client. See https://github.com/dotnet/SqlClient/issues/652.
The second reason why the app wouldn't load was because the msix was trying to access a file I had open on another networked computer. See the section common problems https://learn.microsoft.com/en-us/windows/msix/packaging-tool/tool-known-issues.
Still no idea why the packaging project think it is net6 howwever.

Building Silverlight 5 project without installing SDK

I'm a developer without access to the build server. I am attempting to configure my silverlight project to build on the build server, without installed the Silverlight 5.0 SDK. I can place all of the SDK files into a source folder, so I just need to redirect MSBuild to find them.
I've attempted to do this by editting the FrameworkRegistryBase tag in Microsoft.Silverlight.CSharp.targets file, but am still getting the same error message:
"The Silverlight 4 SDK is not installed".
Can you tell me where the path to the SDK can be overridden?
Thanks

how to create ClickOnce type setup in Visual Studio

Please tell me how to Deploy application, which installs all it's dependencies like .net framework, MSSQL, etc. itself.
I have added all the dependencies in my setup Project, but when I install my setup it show message like .net Framework 4.0 is not installed. Download it from Microsoft's Website and then Install
It's not installing dependency which is in setup.

Error installing MahApps.Metro "trying to install this package into a project that targets '.NETFramework,Version=v3.5'"

I'm trying to install MahApps.Metro http://mahapps.com/MahApps.Metro/ on my Visual Basic .NetFramework 3.5 project, but i have an error
Could not install package 'MahApps.Metro 0.10.0.1'. You are trying to install this package into a project that targets '.NETFramework,Version=v3.5', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
I don't understand i already huild on .NetFramework 3.5 .. how can i solve this?
It seems this library requires .NET 4+. Upgrade to a higher .NET version (4.0 or 4.5) and it should work.

DNN module development

I have a client with dnn website. I need to develop module for it. How I can start? I'm using Microsoft Visual Studio 2010 now (trial version). I cannot access source code, just make new module and install it. What is the best practice to start on the environment like this? Other question is if I using trial version of visual studio, is my module will expire too?
These materials, especially video tutorials, might be really helpful to you when getting started with DNN module development: http://www.dotnetnuke.com/Resources/Wiki/Page/Module-Development.aspx They cover every part from installing DNN module project templates to development and packaging of the custom DNN module.
To your second question, the answer is no, your module will not expire after VS2010 trial expires. Another option for you is to use free express editions of visual studio 2010, for this case Visual Web Developer 2010. You can download it here: http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-web-developer-express You will not be able to use source control directly from express edition, but still there is option to use SVN and a client like TortoiseSVN.
Purchase and read this book: Professional DotNetNuke Module Programming
Visit the download page of DotNetNuke.com
Download the Community Edition. Install it on your dev machine, get it working.
Hook the Desktop Modules folder and bin folder (at least) to your source control
At the download page above, install the Visual Studio Starter Kit
Restart Visual Studio 2010
Start up Visual Studio 2010, create a new compiled DNN module project, make sure its location is in the Desktop Modules folder of DNN
Implement some test code
Install the module on DNN (install by manifest)
Add the module to a DNN page. Test it.
Make updates to your DNN module. You only need to uninstall and reinstall the module if you add or remove files or change the database setup scripts.
Build a deployable version of your module. (You make a zip file or something. Just read the book. I always have to refer back for this step)
Practice installing the DNN module on another fresh DNN Community Installation.
Once you are satisfied that it is installing correctly, install the module on the live site (Do backups first, just in case)

Resources