Visual Studio相对路径问题与非标准项目扩展

时间:2015-08-26 12:16:38

标签: visual-studio visual-studio-2010

我正在尝试从相对路径导入目标文件。目标文件包含版本信息。我们的目标不是要在创建新分支并拥有新的程序集版本时修改我们拥有的所有数千个项目文件。我们需要汇编版本,因为系统的2个版本可以同时安装,我们在全局汇编缓存中有dll。

以下是项目文件中的内容:

<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Project="..\..\..\..\..\..\Versions.targets" />
    ...
    <ItemGroup>
        <Reference Include="MyDll, Version=$(VersionAssemblies), Culture=neutral, processorArchitecture=MSIL">
            <HintPath>..\..\..\..\..\..\..\..\..\..\Apps\$(CodeVersion)\DEVP\appl\BinApps\MyDll.dll</HintPath>
        </Reference>
    </ItemGroup>
    ...
</Project>

如果我正在使用.vbproj,这工作正常。但问题是我们有很多旧的.cobproj Cobol项目文件。出于某种原因,似乎Visual Studio 2010在打开cobproj时没有设置工作目录,因此它无法访问Versions.targets ...

如果我将我的cobproj重命名为使用vbproj作为扩展名,它的工作正常。因此,当一个已知扩展的项目被打开时,它确实是Visual Studio正在做的事情,但我搜索了很多,我没有找到我可以添加cobproj的地方告诉Visual Studio它是一个已知的扩展。

另一个有趣的事实是,如果我双击我的cobproj,它正在工作,因为工作目录已经设置为cobproj所在的目录...如果我打开Visual Studio然后执行文件/打开并选择我的cobproj,然后它不起作用。

我想知道是否有人可能知道如何在不改变我所有cobproj的扩展的情况下解决我的问题。我想要一个更清洁的解决方案。

谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方法,如果我修改.sln中的Project Type Guid,我可以使用.cbproj使用Visual Studio,就像使用.vbproj一样,至少在工作目录设置方面。

来自.sln文件:

项目(“{ F184B08F-C81C-45F6-A57F-5ABD9991F28F }”)=“appsEXCI.Donnees.Containers.Cobol”,“appsEXCI.Donnees.Containers.Cobol.cobproj”,“ {54E1DEC4-8919-40F6-B7BB-C936921B221F}” EndProject