2011-07-01 28 views
1

我有一个Visual Studio 2010和使用第三方库的项目。这个第三方库包含头文件,库文件和.dll文件。所以,为了我的项目,包括头文件和链接使用库文件我创建并添加以下属性表吧:是否有可能增加路径在Visual Studio 2010属性页.dll文件?

<?xml version="1.0" encoding="utf-8"?> 
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> 
    </PropertyGroup> 
    <ItemDefinitionGroup> 
    <ClCompile> 
     <AdditionalIncludeDirectories> 
     C:\sdk\superlib\include; 
     %(AdditionalIncludeDirectories) 
     </AdditionalIncludeDirectories> 
    </ClCompile> 
    <Link> 
     <AdditionalLibraryDirectories> 
     C:\sdk\superlib\lib; 
     %(AdditionalLibraryDirectories) 
     </AdditionalLibraryDirectories> 
    </Link> 
    </ItemDefinitionGroup> 
</Project> 

我的项目成功地编译并与图书馆联系。但是,这是一个问题:为了我的可执行文件来运行它需要一个库的.dll里面SDK bin文件夹。所以,如果我在Visual Studio中按F5键,它会抱怨说superlib.dll没有找到:(当然,我可以手动将其复制到我的项目的输出文件夹 - 但有可能以某种方式设置路径.vsprops到.dll文件等等它是建立运行和调试自动使用?

回答

2

您可以通过将.dll文件到@(无)项数组,并设置一个元数据值,以便它可以自动复制到输出注明。添加以下到你的道具文件。

<ItemGroup> 
    <None Include="C:\sdk\superlib\bin\superlib.dll"> 
     <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    </None> 
</ItemGroup> 

如果你不希望这在Solution Explorer中显示,添加可见=虚假的元数据以及,

<ItemGroup> 
    <None Include="C:\sdk\superlib\bin\superlib.dll"> 
     <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
     <Visible>false</Visible> 
    </None> 
</ItemGroup> 
相关问题