Comments (7)
@drewnoakes @ErikEJ The documentation does explicitly suggest using namespaces:
Have a namespace prefix, or otherwise sufficiently unique so as to keep the odds of it colliding with a project capability someone else (including outside of Microsoft) might come up with.
Good: Microsoft.XYZ.Concurrency
Bad: Concurrency
This seems to suggest that MSBuild.Sdk.SqlProj.BuildTSqlScript
would be a good value 'scoped' to the MSBuild.Sdk.SqlProj
SDK project.
Would like to know if this is correct or not, in case I need to add custom capabilities to my own MSBuild.SDK.SystemWeb
SDK.
from vsprojectsystem.
@CZEMacLeod Thanks, that was how I ended at my proposal
from vsprojectsystem.
a .sqlproj is somewhat similar to the above SDK, and contains the following capabilities (VS 17.5):
AppDesigner PreserveFormatting CSharp EditAndContinue LanguageService OpenProjectFile CPS SharedImports ProjectConfigurationsDeclaredDimensions UseProjectEvaluationCache HandlesOwnReload .NET Microsoft.VisualStudio.ProjectSystem.RetailRuntime RunningInVisualStudio HostSetActiveProjectConfiguration AllTargetOutputGroups DeclaredSourceItems IntegratedConsoleDebugging Managed PersistDesignTimeDataOutOfProject VisualStudioWellKnownOutputGroups RelativePathDerivedDefaultNamespace SupportAvailableItemName NoGeneralDependentFileIcon ProjectReferences AppServicePublish UserSourceItems CrossPlatformExecutable FolderPublish UseFileGlobs SharedProjectReferences ProjectPropertyInterception DynamicDependentFile GenerateDocumentationFile PackageReferences WinRTReferences SingleFileGenerators DataSourceWindow ProjectImportsTree OutputGroups LaunchProfiles DependenciesTree AssemblyReferences DisableBuiltInDebuggerServices ClassDesigner COMReferences Publish ConfigurableFileNesting ProjectPropertiesEditor Pack
from vsprojectsystem.
Maybe a better name would be:
MSBuild.Sdk.SqlProj.BuildTSqlScript
from vsprojectsystem.
I commented on the original issue, suggesting that perhaps an MSBuild property would be a better fit for the use case rr-wfm/MSBuild.Sdk.SqlProj#341 (comment)
If you do decide to use a project capability for this, we generally don't use namespaces in capability names. There is some guidance on capability naming at https://github.com/microsoft/VSProjectSystem/blob/master/doc/overview/about_project_capabilities.md#how-do-i-define-my-own-project-capabilities
from vsprojectsystem.
@drewnoakes So just BuildTSqlScript as name is fine?
from vsprojectsystem.
@CZEMacLeod thanks for pointing that out. I have seen almost no adherence to that guidance (example), so take from that what you will. At the end of the day you just need a unique string for a capability, so choose whatever makes the most sense in your use case.
Consider adding both an MSBuild property and ProjectCapability to help consumers of your project identify its type in different contexts. A property is easier to test for than an item in MSBuild. A project capability is easier to test for in VS extensions.
from vsprojectsystem.
Related Issues (20)
- Extending the Reference Manager needs additional documentation and support.
- How to add custom columns to a custom tab in the Reference Manager.
- The ReferenceManagerXXX project capabilities do not seem to have any effect on the Reference Manager.
- .dcproj won't accept azure functions project
- Custom Debugger extension for C++ HOT 2
- VS Item Template Parameter rootnamespace returns incorrect value
- Property page default values are not correctly display HOT 2
- Creating Custom Project Type with Custom Project Format
- IDynamicDebugTargetsGenerator not registered in VS 2022 HOT 2
- Project System Extensibility extension for VS2022 HOT 7
- Providing build properties soon after VS startup
- IProjectGlobalPropertiesProvider for non-SDK-style projects
- improve extensibility docs
- Solution Explorer icons not working HOT 2
- Custom Debugger of CpsExtension sample doesn't show up HOT 2
- Why is there so little documentation for ProjectSchemaDefinitions?
- This repo is missing important files HOT 1
- Customized Build and Debugging supporting Target frameworks style projects
- Complete docs on project data subscriptions, and include info about slice data
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vsprojectsystem.