Attempting to create nuget package to upload to our own nuget sever, and would like to eliminate the manual process of creating and editing the nugspec file. Everything I've read, says the setting can be pulled from the project file (if using package reference). And that the settings exist on the Package tab of the project properties window. But that tab is not there.
Using vs 2019, .NetFramework 4.7.2, project is a library, and has been migrated to package reference.
I took an existing project, right clicked the references, and used the migrate option. Package tab is non-existent
I also set the nuget package manager to default to packageReference, and create a new class library.
Package tab also non-existent
The required package (when using non-SDK Style with package reference) nuget.build.tasks.pack has bee added to the references of both projects mentions
Any help would be appreciated
The package tab is only available for SDK style projects. Non-SDK style projects use a different project system in Visual Studio, which doesn't contain that project properties tab. The new project system (on github, the old one is closed source) was initially made to look the same as the old project system, but slowly they're diverging. The Reference/Dependencies node in Solution Explorer is one obvious example, as is the Package tab in the project properties window.
To create the MSBuild properties used by pack, you'll need to manually edit the project file as XML. Within Visual Studio, you need to right click the project in Solution Explorer, select "unload project", now when you single click the project, or right click and select edit, you'll see the project XML. Once done, right click the project again and select reload project. Alternatively, edit it with a text or XML editor outside of Visual Studio, and Visual Studio will detect the change and prompt you to reload the project when you alt-tab back.
My suggestion, however, is to convert your non-SDK style project to an SDK style project. "Standard" class library projects work fine, and I'm not aware of any disadvantages (unless some developers on your team are using Visual Studio 2015 or earlier still), given the non-SDK style project is already using PackageReference. Some other project types might have limited Visual Studio experiences when targeting .NET Framework in an SDK style project. Other project types might not be compatible with SDK style projects at all. However, most people creating NuGet packages are doing so with standard class library projects, which shouldn't have any problems.
There is a "unsupported" tool try-convert to convert non-SDK style projects to SDK style. Personally, I just delete the csproj, create an empty directory, run dotnet new classlib on the console, move the csproj to my existing project's directory, rename the project file, and delete that temporary/empty directory. If you have anything other than .cs files in your project that need explicit entries in the csproj, hand edit the csproj if you're comfortable with msbuild, otherwise load the project in Visual Studio and use the Solution Explorer and Properties windows.
Some people believe that SDK style projects are only for .NET Core or .NET Standard. That's not true, but unfortunately the Visual Studio new project templates give that impression. You will need to create the class library project targeting .NET 5, .NET Standard, or .NET Core. But once the csproj is created, edit the csproj (with SDK style projects it's no longer necessary to unload the project) and change <TargetFramework>net5.0</TargetFramework> to <TargetFramework>net472</TargetFramework>. Another advantage of SDK style projects is it's easy to multi-target, a useful technique to slowly modernize your projects to newer runtimes. Add an s to the XML element name to make it plural, and add extra target frameworks as a semi-colon delimited list <TargetFrameworks>net472;net5.0</TargetFrameworks>. When changing between TargetFramework and TargetFrameworks, Visual Studio should prompt you to reload the project, but I found that it still has some issues. So I suggest closing the solution and opening it again, then everything should work great.
I'm working on a MVC ASP.NET project. The database sql files are in a project of their own so they can be worked on and version controlled but they aren't to be managed by Visual Studio. They used to build and have errors. Rather than working out the errors we simply decided to stop these files building. I achieved this by changing the Build Action of it to None.
I've just upgraded VS to the latest 15.5.4 with various additional installed products and now the sql files are building again despite the build action remaining at None. And giving build errors.
The additional installed products include:
SQL Server Data Tools - 15.1.61710.120
I assume it was upgraded and is behind this problem.
Does anyone know what is causing these files to build when they shouldn't? And how to stop?
A partial answer is to unload the project:
Select project in Solution Explorer
menus > Project > unload project
This requires needing to reload the project to work on it. Which is less than ideal.
I have used PhpStorm my entire life but now I am very much inspired by AngularJS and ionic so I am learning to code hybrid mobile apps. I downloaded the Visual Studio and installed and it already had around 6GB.
Now I need to download additional Cross Platform Mobile Development package but it looks like I need to download additional 27GB.
Do I really need to download this huge file? I genuinely need from pros whether I need to download entire package or I can skip few. Internet speed sucks here in India and on the downloading another 27GB AngularJS 3 will be out.
Visual Studio
first of all absolutely you don't have to download all them plugin.. second if you want you caan use other good IDE as maybe Visual studio Code
https://code.visualstudio.com/
But if you want to use Visual Studio (as I'm doing ..but because i also develop the back end in Asp.Net WebAPI 2) .. you can skip the installation of (SO DON'T HAVE TO INSTALL) for ionic development:
C#/Xamarin (it's for develop other kind of Cross Platform Mobile Development .. not Hybrid)
Miscorsoft Visual Studio Emulator (you can use the Ionic tools from command line .. es: ionic serve --lab or also run it on your device and attach them to your browser to debug)
I create a windowsphone silverlight app package -> Blah.Xap
Then I place it in my phone.
In theory,
in 'MainMenu'->'Store'->'...'
there should be an option like:
'Install local apps'
But it didn't show up.
That option shows up when I place *.appx (WRT) file in the phone.
So is there anything setting I should set when build the *.xap from VS studio?
Thanks very much for the answer.
AFAIK you can only install apps downloaded from Store in that way. If your XAP is not from Store i.e. built using Visual Studio then it won't show up.
I have a VS 2010 C# "solution"; It creates an .exe file, and a .pdb file when doing a build in Release mode which I use in the InnoSetup build of the installer.
My app uses several .dll's from other vendors (i.e. WinSCP). My question is: do still build the installer using InnoSetup, substituting the new .exe from .NET Reactor for the one created by Visual Studio? The only thing I want to obfuscate using .NET Reactor is my app, not the other vendors.
(I have looked in Google and SO, and did not find an answer.)
You could directly substitute the exe/dll before you build the installer.
In case you want to automatically protect a VS project file output (exe/dll) before it is packaged into your into you setup you could use the .NET Reactor Visual Studio Add-in.
Install dotFuscator then you will be able to add its project type in source code as new project. There you can set output files to obfuscate.