相关: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引用不会以相同的方式工作。
答案 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中。这是你手动完成的事情。我告诉你这是一个不断配置项目和解决方案的构建大师。