获取msbuild中已解析引用路径的列表

获取msbuild中已解析引用路径的列表,msbuild,ilmerge,Msbuild,Ilmerge,我尝试使用ILMerge将多个程序集合并到一个插件程序集中,该插件程序集将由另一个应用程序动态加载 通过使用社区任务,到目前为止,我得到了: <Target Name="CombineAssemblies" AfterTargets="MvcBuildViews"> <ItemGroup> <MergePaths Include="@(_ResolvedProjectReferencePaths)" /> <!--

我尝试使用ILMerge将多个程序集合并到一个插件程序集中,该插件程序集将由另一个应用程序动态加载

通过使用社区任务,到目前为止,我得到了:

<Target Name="CombineAssemblies" AfterTargets="MvcBuildViews">
    <ItemGroup>
        <MergePaths Include="@(_ResolvedProjectReferencePaths)" />
        <!--<MergePaths Include="%(Reference.ResolvedPath)" /> This doesn't work! -->
    </ItemGroup>

    <ILMerge
        DebugInfo="true"
        LogFile="log.txt"
        InputAssemblies="@(MergePaths)"
        OutputFile="&quot;$(TargetPath)&quot;"
        CopyAttributes="true"
        TargetPlatformVersion="v4"/>
</Target>
我引用的是MVC库,从日志文件中我假设ILMerge无法解析这些库,即使它们在实际编译过程中正确解析

因此,我希望将这些库的位置传递给ILMerge,理想情况下使用References项,这样我就不必手动添加一组引用路径,如果添加或删除引用,这些路径将不得不更改。对于正常引用,是否存在与@(_ResolvedProjectReferencePaths)等价的内容

谢谢

Try@(ReferencePath),应该在目标ResolveAssemblyReferences之后使用

Unresolved assembly reference not allowed: System.Web.Mvc.
   at System.Compiler.Ir2md.GetAssemblyRefIndex(AssemblyNode assembly)
   at System.Compiler.Ir2md.GetTypeRefIndex(TypeNode type)
   at System.Compiler.Ir2md.VisitReferencedType(TypeNode type)
   at System.Compiler.Ir2md.VisitMethod(Method method)
   at System.Compiler.Ir2md.VisitClass(Class Class)
   at System.Compiler.Ir2md.VisitModule(Module module)
   at System.Compiler.Ir2md.SetupMetadataWriter(String debugSymbolsLocation)
   at System.Compiler.Ir2md.WritePE(Module module, String debugSymbolsLocation, BinaryWriter writer)
   at System.Compiler.Writer.WritePE(String location, Boolean writeDebugSymbols, Module module, Boolean delaySign, String keyFileName, String keyName)
   at System.Compiler.Writer.WritePE(CompilerParameters compilerParameters, Module module)
   at ILMerging.ILMerge.Merge()
   at ILMerging.ILMerge.Main(String[] args)