1

我将使用 PowerShell 脚本和正则表达式找到对第三方程序集的所有错误引用。每个项目文件都包含如下引用:

<Reference Include="Microsoft.Practices.ServiceLocation">
 <HintPath>..\..\..\..\ThirdPartyLibraries\CommonServiceLocator\Microsoft.Practices.ServiceLocation.dll</HintPath>
</Reference>

...或这个:

<Reference Include="FluentValidation">
  <HintPath>..\..\..\..\Output\Debug\FluentValidation.dll</HintPath>
</Reference>

第一个条目是正确的,但第二个条目是错误的。

我试图构建一个正则表达式来查找包含对输出文件夹中程序集的引用的所有行。

此表达式正常工作:^.*(?=Output).*\.dll</HintPath>

但我认为最好找到所有不包含的引用ThirdPartyLibraries

但这不起作用:^.*(?!ThirdParty).*\.dll</HintPath>

它还找到包含的行,ThirdPartyLibraries这是不正确的。

你看到正则表达式有什么问题吗?

4

1 回答 1

1

此正则表达式匹配所有包含的提示路径ThirdPartyLibraries

<HintPath>(?!.*?ThirdPartyLibraries.*$)
于 2013-06-20T09:43:45.590 回答