C# Visual Studio-更改NuGet';s临时文件的输出目录
目前,VS项目的默认行为似乎是NuGet托管依赖项在编译期间具有由NuGet生成的中间文件。这些文件位于C# Visual Studio-更改NuGet';s临时文件的输出目录,c#,.net,xml,visual-studio,msbuild,C#,.net,Xml,Visual Studio,Msbuild,目前,VS项目的默认行为似乎是NuGet托管依赖项在编译期间具有由NuGet生成的中间文件。这些文件位于obj文件夹中: 我喜欢能够控制这些输出目录的名称(正如您在Binary和Object中看到的),并且我希望设置我的项目,使NuGet不使用obj文件夹来存储这些文件。有没有一种方法可以在项目级或解决方案级指定这一点?可能是MSBuild XML代码段?那太好了 如有任何信息,将不胜感激 有没有一种方法可以在项目级或解决方案级指定这一点? 可能是MSBuild XML代码段?那太好了 如果要
obj
文件夹中:
我喜欢能够控制这些输出目录的名称(正如您在Binary
和Object
中看到的),并且我希望设置我的项目,使NuGet不使用obj
文件夹来存储这些文件。有没有一种方法可以在项目级或解决方案级指定这一点?可能是MSBuild XML代码段?那太好了
如有任何信息,将不胜感激
有没有一种方法可以在项目级或解决方案级指定这一点?
可能是MSBuild XML代码段?那太好了
如果要更改其他文件夹中的这些nuget restore文件,可以尝试使用file来控制它
解决方案
1)在项目中直接创建名为的文件。Build.props
然后在此文件中添加以下内容:
<Project>
<PropertyGroup>
<MSBuildProjectExtensionsPath>$(ProjectDir)Binary\</MSBuildProjectExtensionsPath>
</PropertyGroup>
</Project>
希望它能对您有所帮助。请在您的项目文件夹下创建一个名为
Directory.Build.props
的文件,然后将其添加到其中:$(ProjectDir)Binary\
。有了它,您可以控制nuget的输出文件。不确定步骤(b)中发生了什么,但创建了前面提到的目录。Build.props
为我修复了它。非常感谢。
<Target Name="CopyNugetfiles" AfterTargets="Build">
<ItemGroup>
<MySourceFiles Include="$(ProjectDir)Binary\*.*"/>
</ItemGroup>
<Copy
SourceFiles="@(MySourceFiles)"
DestinationFolder="$(ProjectDir)Object\"/>
</Target>