Create a property page without admin rights to install a target - visual-studio-extensions

I'm developing a visual studio plugin (VS 2010 to 2017). I need project specific configuration.
Visual Studio already has GUI for project specific properties like compiler and linker options which can be opened by right-clicking the project and choosing properties.
How can I create auch a propery page without requiring admin rights to install a target?
A possible solution would be to deliver a target file inside the VSIX and to point VS to this file. Bu I don't know whether and how this is possible.
The new property page shall be shown on existing C/C++ projects. So creating my own project type is not an option.
I already found
https://www.codeproject.com/Articles/881782/Creating-custom-UI-property-pages-sheets-in-Visual
and
https://blogs.msdn.microsoft.com/vsproject/2009/06/18/platform-extensibility-part-2/
but it looks like I have to create (and store) a target to get VS to show the property page.
Update
A proposed solution are property sheets.
How can I inject targets or items (PropertyPageSchema) without modifying the vcxproj and without installing something globally (C:\Program Files (x86)\MSBuild). That means I want to define new settings without the user needing to install something additional to the vsix.

You could create a property page for your project type so that users can view and change properties in projects that are based on your template. And you also could set some default property values in your custom property page, which doesn't require admin rights.
Detailed steps about how to create property page for your project type, please refer to this document.
https://msdn.microsoft.com/en-us/library/cc826178(v=vs.140).aspx#Anchor_8
Update:
If you want to add your custom properties for C++ project, I suggest you add custom property sheet because as the document you mentioned that "The Visual C++ project system does not support project subtypes.".
Following document introduce detailed steps about how to create custom property sheet for C++ project.
https://www.codeproject.com/Articles/319827/Sharing-project-properties-in-Visual-Cplusplus

Related

Where the data-tier application version number is stored in a Visual Studio project?

I have an utility which fills version numbers in AssemblyInfo.cs files. Now I need to implement a functionality to adjust version numbers for Visual Studio Data-Tier applications (DACPAC).
I see that I can adjust the number manually if I open project properties and click the Data-Tier application Properties button. But I cannot find where this number is stored in project files, so I have no idea how to update it automatically from my utility.
Do you know, where is the version number stored?
The properties do not appear in the .sqlproj file unless you change them from their default values. When you do they will appear as follows:
<DacDescription>This is my description</DacDescription>
<DacApplicationName>Database.Application.Name</DacApplicationName>
<DacVersion>1.2.3.4</DacVersion>
The dacpac version number doesn't appear to show up until after the first successful project build. After that however, it shows up as in .sqlproj file as shown below.

Are linked files supported in an ASP.NET 1.1 project?

Is there a way to have linked files in an ASP.NET 1.1 project?
What I did was to copy the linked file declaration from a DLL csproj to the file I want. But everytime I change the Web.csproj to add a new file, the links are deleted.
Is there a possible workaround? maybe inserting this in the build scripts or something like that?
Is this possible in .NET 2.0?
If you are using Visual Studio 2003 then linked files are not supported:
If you want to explicitly add an item as a link, you can create links
in the following projects:
The solution, Visual C++, and other similar projects support only links, so all of the items in these projects are links. The project
does not attach a link indicator (a small arrow) to the item icon in
Solution Explorer.
Visual Basic, Visual C#, and other similar projects can accommodate both linked and physical project items. Linked items in these projects
display a link indicator attached to the icons of linked project
items.
Visual Basic Web, Visual C# Web and other similar projects, do not
support links to items
http://msdn.microsoft.com/en-us/library/9f4t9t92(v=VS.71).aspx
You can work around this by creating a symbolic link (symlink) to the first instance of the file. The Link Shell Extension makes it easy to do so in Windows Explorer and it will even add an arrow badge to the file's icon (you have to use NTFS). Or use the command line program mklink:
> cd Project\Properties
> mklink AssemblyInfo.cs ..\..\Global\AssemblyInfo.cs
When you have created a symlink, it's as if the same file exists in both places. It's transparent to applications, including (I expect) Visual Studio 2003. This is not the same as a shortcut (.lnk file).
UPDATE: what I did in the end was to take another approach. I simply put a validation in my build script that if the csproj does not contain any reference to my AssemblyInfo files, the build failed.
This was ok because the only time they would be deleted, is when the csproj gets modified which is almost never.

auto update asp.net website bin folder

Is there any way to get VS2008 to automatically fill my website bin folder with all the necessary dependencies required for the website?
At the moment it just contains assemblies from the solution but not the third party assemblies I am also using.
Thanks,
AJ
You should set Copy Local to true in the reference properties.
http://msdn.microsoft.com/en-us/library/t1zz5y8c.aspx
You can use the post build events which you can configure in the properties page of a project.
As an example:
Post build and macros
Post build events

Include revision or tag name on website pages (ASP.NET) when deploying with CruiseControl.net and subversion

Is it possible to include the revision number or the name of the tag used for a build on an ASP.NET website when deploying with CruiseControl.net and subversion?
You can use SubWCRev for this. By integrating it into your build script, you can do keyword replacement in your source, replacing with things like the current revision number.
You can also make use of the svn:keywords property for this. The svn:keywords property works on a file-by-file basis, though, and thus expands to the last revision of the file, as opposed to the last revision of the repository as a whole.

Flex builder 3 word completion/intellisense stopped working for new variables

For some reason code completion/intellisense has stopped working for new properties in
our projects.
These are the symptoms:
Add a new property to a class
If you go to a different class, and you try to use that property, the intellisense dropdown doesn't show the new property. It does show the already existing ones.
If you build the project, everything works fine, there are no errors or compiler warnings.
The property will not show in intellisense until you restart Flex Builder (version 3).
We have tried it on different machines and als tried to set up the workspace again, but the symptoms stay the same everywhere in our project.
Anyone who has seen this behaviour before and any tips on how to resolve this?
Thanks
I see this behavior while flexBuilder is "Building WorkSpace" and "Refreshing WorkSpace" which, on large projects can take a few minutes sometimes. Flex builder by default builds your workspace every time you save some changes or launch/debug a project.
If you don't have "Build Automatically" checked under the "Project" menu, then your workspace will not be built with each save and you will not see your new properties until it is built, which won't be until Flex builder restarts.
The problem was that I was using a non-localized resource bundle that I had placed in the source folder of my project. In the compiler I added the source path "src" to the Flex Build Path settings, which is also the main folder of the source code.
This caused the problem. I have now moved the resources to another folder outside the src folder and configured the compiler accordingly. Flex Builder works all fine again.

Resources