c# - How can I reference a project without linking to it in a csproj? -


i have test project runs program (a .exe) , ensures results come out expected.

i'd declare test project depends on project builds .exe, , place .exe drop subdirectory of $(outdir) (or $(outputpath)).

  • $(outdir)mytests.dll (test project)
  • $(outdir)\product\foo.exe (tested project)
  • $(outdir)\product\xxx.dll (dependencies of tested project)

this way can write test of form:

[testclass] [deploymentitem("product", "product")] public class runfoo {     [testmethod]     public void helptextmatches()     {         // system.diagnostics.process.start("product\foo.exe" ...)     } } 

is there way declare <projectreference in test .csproj file allow me achieve this?

(i don't want have <copy task grabbing outputs of program under test because there's nothing force msbuild build program under test before test project.)

i don't quite understand reasons not using projectreference, adding projectreference except without added assembly references.

<itemgroup>     <extradependencies include="exeproject.csproj" /> </itemgroup>  <target name="getextradependenciestargets">     <msbuild projects="@(extradependencies)" targets="gettargetpath">         <output taskparameter="targetoutputs" itemname="resolveddependencytargets" />     </msbuild> </target>  <target name="buildextradependencies"         beforetargets="beforebuild"         dependsontargets="getextradependenciestargets"         inputs="@(extradependencies)"         outputs="@(resolveddependencytargets)">     <msbuild projects="@(extradependencies)" targets="build">         <output taskparameter="targetoutputs" itemname="builtdependencytargets" />     </msbuild> </target> 

alternatively, keep projectreference hijack build process right after resolveprojectreferences target , remove exe dependency (from _resolvedprojectreferencepaths).


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -