Ste*_*uer 2 .net c# windows msbuild visual-studio-2010
我有一个C#项目文件(.csproj),其中包含对$(ProgramFiles)的引用.我使用64位Windows 7.当我在Visual Studio 2010中编译此项目文件时,它在c:\ Program Files(X86)中正确定位文件.
如果我试图聪明而改为使用Microsoft.Build.Evaluation.ProjectCollection.LoadProject([project file]),试图在代码中构建它,它会错误地将$(ProgramFiles)计算为c:\ Program Files.
知道问题的原因是什么吗?
Visual Studio 2010是一个32位进程,WOW将提供c:\Program Files (X86)
32位进程.
我的假设在这里:
如果我试图聪明,而是使用Microsoft.Build.Evaluation.ProjectCollection.LoadProject([project file]),试图在代码中构建它
当您在"代码中"执行此操作时,您的代码正在执行x64,因此您将获得正常的环境值.
ProgramFiles(x86)
如果需要x86程序文件目录的路径,可以使用x64中的环境变量.在MSBuild中,就是这样$(MSBuildProgramFiles32)
.
归档时间: |
|
查看次数: |
298 次 |
最近记录: |