Vb.net项目参考库位置的不同配置

时间:2016-10-27 17:43:32

标签: vb.net reference msbuild

相关:Conditionally use 32/64 bit reference when building in Visual Studio

通常,当您在同一解决方案中添加vb.net项目作为参考时,会添加一个带有提示位置的引用。现在在C#中我记得它基于架构添加它。为什么不在Vb.net或我只是做错了。检查相关问题。

<Reference Include="MyComAssembly.Interop">
<HintPath>..\..\lib\x86\MyComAssembly.Interop.dll</HintPath>
</Reference>

<ItemGroup Condition=" '$(Platform)' == 'x64' ">
<Reference Include="MyComAssembly.Interop">
<HintPath>..\..\lib\x64\MyComAssembly.Interop.dll</HintPath>
</Reference>

为了澄清我确实得到了这个条目,但它不是默认的基础架构。相关的问题确实讨论了手动编辑文件,但我试图理解为什么它不会自动发生在VB.net与C#相比。是否有任何开放功能请求。

2017年6月6日编辑 对于Vb.net,它正确地显示了引用,如第一个响应中所解释的那样,但为什么COM引用不会以相同的方式工作。

1 个答案:

答案 0 :(得分:0)

我发布这个作为答案,因为我需要在这里显示一些代码

你说:

  

通常,当您在同一解决方案中添加vb.net项目作为参考时,会添加一个带有提示位置的引用

答案:

没有。项目参考创建如下

<ProjectReference Include="..\..\..\MyProject\MyProject.csproj">
  <Project>{7316c328-7716-4b5c-b736-f5811c764158}</Project>
  <Name>MyProject</Name>
</ProjectReference>

您的XML显示DLL引用。如果您从DLL引用,则会得到提示。

默认情况下不会添加ItemGroup条件,而不是在C#中,而不是在VB中。这是你手动完成的事情。我告诉你这是一个不断配置项目和解决方案的构建大师。