Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不需要的区域性特定DLL复制到bin目录_C#_.net_Visual Studio_Fluentvalidation - Fatal编程技术网

C# 不需要的区域性特定DLL复制到bin目录

C# 不需要的区域性特定DLL复制到bin目录,c#,.net,visual-studio,fluentvalidation,C#,.net,Visual Studio,Fluentvalidation,我正在使用visual studio 2013& 我看到在bin文件夹中构建之后,它复制了所有特定于区域性的FluentValidation.resources.dll,这似乎在.nuspec文件中提到过 > <file src="lib\NET35\de\FluentValidation.resources.dll" > target="lib\NET35\de\FluentValidation.resources.dll" /> > <file s

我正在使用visual studio 2013&

我看到在bin文件夹中构建之后,它复制了所有特定于区域性的
FluentValidation.resources.dll
,这似乎在
.nuspec
文件中提到过

> <file src="lib\NET35\de\FluentValidation.resources.dll"
> target="lib\NET35\de\FluentValidation.resources.dll" />
>     <file src="lib\NET35\es\FluentValidation.resources.dll" target="lib\NET35\es\FluentValidation.resources.dll" />
>     <file src="lib\NET35\fr\FluentValidation.resources.dll" target="lib\NET35\fr\FluentValidation.resources.dll" />
>     <file src="lib\NET35\it\FluentValidation.resources.dll" target="lib\NET35\it\FluentValidation.resources.dll" />
>     <file src="lib\NET35\nl\FluentValidation.resources.dll" target="lib\NET35\nl\FluentValidation.resources.dll" />
>     <file src="lib\NET35\pt\FluentValidation.resources.dll" target="lib\NET35\pt\FluentValidation.resources.dll" />
>     <file src="lib\NET35\sv\FluentValidation.resources.dll" target="lib\NET35\sv\FluentValidation.resources.dll" />
>target=“lib\NET35\de\FluentValidation.resources.dll”/
>     
>     
>     
>     
>     
>     
但我在
bin
文件夹中不需要这些,因为project不支持任何特定于区域性的消息


那么,我如何告诉vs build忽略这些特定于区域性的DLL呢?

我的解决方案是在关闭项目标记之前的.csproj文件末尾添加此目标


假的
这并不漂亮,但它完成了任务。如果您需要一些特定于区域性的资源,只需从列表中删除相应的行。如果将来的更新添加了您不想要的新区域性,请将其添加到列表中

最好的选择是让开发人员在多个NUGET中分离资源,这样您就可以添加所需的资源。我将坚持这个解决方案,直到有人提出更好的解决方案



现在,您可以在官方的project wiki上找到我的解决方案:(在页面底部)

我对外部库也有同样的问题,我正在Visual Studio project properties中添加后期生成脚本,该脚本将删除输出目录中的所有文件夹(对我来说可以,否则设置目录列表):

FOR /D %%d IN ($(TargetDir)*) DO RMDIR /S /Q %%d

您找到解决方案了吗?这些程序集包含在Fluent验证包中,因此一种方法是从包中删除所有不需要的区域性(为每个新版本重新应用更改会很麻烦),或者进行生成后清理。我知道,这样做是为了寻找更好的解决方案。这是否回答了您的问题?同样的,但是出版呢?我的意思是,我在发布后在BIN目录中看到了这些文件夹。@Romias,请尝试我的更新答案,它解决了发布场景。如果您以前已经部署过,请务必清理部署目标一次。现在有更好的解决方案,此答案不应再标记为解决方案: