Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
665 views
in Technique[技术] by (71.8m points)

visual studio - Setting up a build dependency without using a reference?

All: I am working on a solution where one of the projects is actually plug-in to the main exe that the solution builds. Since this one project is a plug in, it's wrong to reference the plug-in from the main exe (that assembly isn't guaranteed to be present in a deployment, it's optional).

So here's my problem: If I modify code in my plug-in project, and then hit F-5 to run, Visual Studio will not alwyas build my plug-in (since based upon the reference tree, the main exe does not appear to depend upon it).

Is there a solution or project-level setting that I could change to cause this plug-in project to be included when I run (without adding a reference)?

I know about the global setting in tools | options | Build and Run, but I'd rather not have to change VS's behavior globally just to get this solution to build right (also, if the setting goes with the solution or project, then when other developers check it out, they should simply inherit the setting)

BTW: these are c# projects in a VS 2005 solution.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Right click the root node in Solution Explorer -> Properties -> Project Dependencies. (VS 2008 users: this feature gets its own dialog box that's directly accessible from the context menu.)

The dependency graph is represented as an adjacency list of checkboxes. Each project you select will have its direct references checked & disabled [assuming you use project refs, not assembly refs]. Other checkboxes might be disabled if they would create a circular dependency.

For any checkbox not disabled, checking/unchecking will write a ProjectSection(ProjectDepedencies) section into your solution file. So your settings will propagate to other developers via source control.

Fair warning though: if you use MSBuild (including any version of Team Build), it does not always handle *.sln file customizations the same way that builds inside Visual Studio do. *.sln is not a native MSBuild file type, unlike *.??proj files. I myself have run into the problem described here; I've also seen the opposite behavior on occasion.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...