为nuget中的公共路径创建变量

问题描述

我想在安装 nuget 包后为 .cspoj 中的提示路径中的公共路径提供变量。 示例:

  1. 在 cs 项目中安装 myNuget 包后,很少有交付物被添加到项目参考中。
  2. 卸载项目,然后编辑 .csproj。
  3. 观察可交付提示路径:..\packages\myNuget1.0.0\lib\net46\sample.dll

这里不是 ..\packages\myNuget1.0.0\lib\net46\sample.dll 路径,我希望它是 $(MyDLLSPath)\sample.dll。

我不知道如何创建这些变量。 我有 .nuspec、.props、.targets 和 .nupkg 文件

我正在尝试为 .targets 文件中的路径创建属性,见下文,但问题仍未解决


<?xml version="1.0" encoding="utf-8"?>
<Project
  xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 
  
   <PropertyGroup>
    <UserTargetsPath>$(MSBuildProjectFullPath).user</UserTargetsPath> 
  </PropertyGroup>
  
   <PropertyGroup>
    <SDKInstallPath Condition=" '$(SDKInstallPath)' == ''">$(MSBuildThisFileDirectory)..\lib\net46</SDKInstallPath>
    <SetupPath>$(SDKInstallPath)\Sample.dll</SetupPath>
    <SDKExtDir Condition=" '$(SDKExtDir)' == ''">$(SDKInstallPath)</SDKExtDir>
  </PropertyGroup>
  
 <UsingTask TaskName="ResolveReferences" AssemblyFile="$(SDKInstallPath)\Intergraph.Setup.dll"/>
 
 <ItemGroup>
    <MyExtension Include="$(MyExtension)"  Condition=" '$(MyExtension)' != '' " />
  </ItemGroup>
  
<PropertyGroup>
    <ResolveMyExtensionReferencesDependsOn>
      PrepareForBuild
    </ResolveMyExtensionReferencesDependsOn>
  </PropertyGroup>
  
  
  <Target
    Name="ResolveMyExtensionReferences"
    DependsOnTargets="$(ResolveMyExtensionReferencesDependsOn)"
    Condition=" '@(MyExtension)' != ''">

 
    <CreateProperty Condition=" '$(MyExtensionSearchPaths)' == '' " Value="
      $(ReferencePaths);
      {HintPathFromItem};
      {RawFileName};
      $(SDKExtDir)
      ">
      <Output TaskParameter="Value" PropertyName="MyExtensionSearchPaths" />
    </CreateProperty>

    <ResolveReferences
      MyReferences="@(MyExtension)"
      SearchPaths="$(MyExtensionSearchPaths)"
      SearchFilenameExtensions=".dll">
      <Output TaskParameter="ResolvedMyReferences" ItemName="_AllResolvedMyExtensionPaths" />
    </ResolveReferences>

    <!-- Remove duplicate extension items that would cause build errors -->
    <RemoveDuplicates Inputs="@(_AllResolvedMyExtensionPaths)">
      <Output TaskParameter="Filtered" ItemName="_ResolvedMyExtensionPaths" />
    </RemoveDuplicates>
  </Target>

</Project>

提前致谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...