问题描述
我想在安装 nuget 包后为 .cspoj 中的提示路径中的公共路径提供变量。 示例:
- 在 cs 项目中安装 myNuget 包后,很少有交付物被添加到项目参考中。
- 卸载项目,然后编辑 .csproj。
- 观察可交付提示路径:..\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 (将#修改为@)