How to change Visual Studio 2017 Windows build to Linux build - linux

So, I have a project being built and test on Windows platform, since Visual Studio 2017 works and run program most comfortable for me in Windows. Now, that I have completed debug most part of the code, I'll have to change my platform built target to Linux.
I used an external project (lib) to help with the internet control, which it's built target is also Windows.
Both the project are written with under C++17 standards so cross-platform should work fine.
Following the instruction on Microsoft website, I had successfully built a test project on my remote Linux server.
However, all the tutorials seem to ask people to start up a new "Linux Project", in which I did for the test project. The question is, since I already have a project/solution created and the build target is Windows platform, is there a way to switch the build to Linux Remote Build?
I've tried opening project settings, but the "target build" option is always Windows 10 and is not changeable.

Related

Build Visual Studio Project for Linux Systems

Is there a way to build a project in visual studio for linux sytems? This Github repository (https://github.com/nilaoda/N_m3u8DL-CLI) is very useful for my project, in this repository is just the visual studio project files (.sln ,c# source code etc.), I cloned it in my visual studio and want to build it but not as executable but for linux system? Is this somehow possible?
Looking at their documentation (translated to English), the application is built on the .NET Framework, which is only intended to work on Windows-based devices. Their documentation also states it's supported on Windows XP and up, and requires the .NET Framework 4.6 runtime, which Linux can't use.
If it was using .NET (previously .NET Core) you'd be in business, but as is, without a rewrite in .NET, you won't be able to run this or build it for Linux devices.

Visual Studio Code trigger hot deployment via script

I am developing an app using Flutter, and I want to be able to test some functionality that behaves slightly different depending on the device directly on both an iPhone and an Android device.
I am using a Linux machine with Visual Studio Code as my main development machine (and do not want to change that), and on that machine Visual Studio Code is deploying to an Android emulator (or a real device).
Then I have a Mac, which has also got Visual Studio Code installed. I mounted the "lib" directory from the Linux machine via sshfs to the Mac (the rest of the Flutter project is just copied to there, since for example I do not want to share the build-folder). From there Visual Studio Code deploys the app to either the simulator or a real iPhone.
With this setup, whenever I change a file, Visual Studio Code on the Linux maching deploys directly to Android. However, since file system events do not get picked up on the Mac due to sshfs, Visual Studio Code on the Mac does not directly deploy. I only have to trigger a hot deployment though (which I mapped to F5), so even now it is only one keypress I have to do on the Mac.
My question is, can I somehow automate this last step? I was thinking about using ssh to connect from the Mac to Linux, and then pick up the filesystem events via inotify. But how could I then trigger a hot deployment on the Mac?

How to register Performance Counters Manifest using VS2008 Installer

I have a VC++ (unmanaged) project to which I added performance counters using manifest method. Everything is working great and I even have build steps that do manifest compilation and automatic registration using lodctr.exe tool with /m:manifest switch.
The problem that I'm running into is that I now need to make installer (VS2008 Installer project) do registration on install (unregistration on uninstall).
I tried to set it up by having a custom action that referenced lodctr.exe tool with CustomActionData set to /m:[TARGETDIR]PerfMon.manifest and similar setup using unlodctr.exe for custom uninstall action.
When installer runs, I do see a brief flash of cmd window (which is ok), but counters are not getting registered. I ran SysInternals' ProcMon tool, and I don't see lodctr.exe process even created.
I tested that running lodctr.exe manually on target machine registers the counters.
I googled for an example or explanation how to do it with Visual Studio installer project, but came up empty. It has some .NET oriented examples, but nothing for unmanaged, hard and cold VC++...
How can I register performance counters manifest using installer project?
Visual Studio installer project has very limited functionality. Starting from Visual Studio 2012 Visual Studio installer project is not supported, you should consider to use Windows Installer XML (WIX) instead.
Include your manifest into WIX project and use WIX's PerfCounterManifest with it.

Run coded ui test with mstest on partner machine

I need to run some Coded UI test on a partner machine on which is installed Visual Studio Professional.
Is there any "standalone" packages with all the test-related dlls or I need to register them manually?
The Visual Studio Agent software allows tests to be run on other machines. The Agent software does not need and version of Visual Studio installed on the same machine.
The agent software includes all the DLLs etc needed to run Coded UI tests. So you should be able (but I have not verified this) to load the DLL of your Coded UI test onto the partner machine and then run the test with mstest.exe.
See http://www.microsoft.com/en-gb/download/details.aspx?id=38186
Note that Visual Studio Professional does not include Coded UI test facilities, they are provided in the Premium and Ultimate versions.

Developing code in Visual studio that also runs in Linux

I have developed Visual C++ 2008 code that runs in Windows. I have made it cross platform also so that it runs under Linux.
I am greatly concerned about distributing source code and even just libraries that Linux users can link to.
I have used CMake and Code::Blocks (only in Linux) but it was still developed using Visual Studio 2008 for most development.
The license looked similar for the professional version and the express version. Let me know if binaries can be released to run under Linux and also if it is okay to open source the entire project. I am pretty far into this project. Maybe it should have been done entirely in Linux.
I am also interested to jump to another Windows compiler such as MinGW in addition because of the Visual Studio licensing restrictions. Is this the path that cross platform programs are usually created or can they be created primarily with the professional or express Visual Studio compilers?

Resources