C# 澄清“.dll.refresh”文件、源代码管理和asp.net网站项目的生成
我在一个ASP.NET网站项目中工作(,这意味着它没有C# 澄清“.dll.refresh”文件、源代码管理和asp.net网站项目的生成,c#,asp.net,visual-studio,visual-studio-2017,dependencies,C#,Asp.net,Visual Studio,Visual Studio 2017,Dependencies,我在一个ASP.NET网站项目中工作(,这意味着它没有.csproj文件) 解决方案的结构如下所示: -解决方案 |-DLL ||-AjaxControlToolkit.dll |-包裹 ||-Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1 | | |-(...) ||-RestSharp.106.6.7 | |-(...) |-网站项目 ||-垃圾箱 || |-(.刷新下面列出的文件) ||-packages
.csproj
文件)
解决方案的结构如下所示:
-解决方案
|-DLL
||-AjaxControlToolkit.dll
|-包裹
||-Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1
| | |-(...)
||-RestSharp.106.6.7
| |-(...)
|-网站项目
||-垃圾箱
|| |-(.刷新下面列出的文件)
||-packages.config
||-(其他网站文件)
从源代码管理重新签出后,在Bin
文件夹中,我有以下内容:
- AjaxControlToolkit.dll.refresh:
。\dll\AjaxControlToolkit.dll
- Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll.refresh:
。\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll
- RestSharp.dll.refresh:
。\packages\RestSharp.106.6.9\lib\net452\RestSharp.dll
- roslyn/csc.exe.refresh:
…以及。\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\csc.exe
文件夹中以roslyn
结尾的其他文件,所有这些文件都类似于上面的.dll.refresh
csc.exe.refresh
Bin
文件夹中:
- ajaxcontroltoolkit.dll
- restsharp.dll
- restsharp.dll.xml
Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll
没有,而且roslyn/
中的任何二进制文件也没有。因此,站点无法验证/运行
我有三个问题,都是密切相关的:
.refresh
结尾的文件到源代码管理(TFS)是否正确,并假定生成过程将本地复制二进制文件ajaxcontroltoolkit.dll
和restsharp.dll
(分别来自Solution/dll
和Solution/packages/restsharp.105.2.3
),即使相关路径错误Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll
和roslyn
目录中的所有二进制文件WebSiteProject/packages.config
的内容:
以下是我的发现
Bin
文件夹中的文件(例如,不适用于Bin/roslyn
中的文件),不管路径是否正确(我甚至尝试了绝对路径,它在Bin
中有效,但在Bin/subdir
下无效)
ajaxcontroltoolkit.dll
和restsharp.dll
(从解决方案/dll
和
Solution/packages/RestSharp.105.2.3),即使
相对路径是错误的
$(ProjectPath)
)
Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll
和所有人
roslyn
目录中的二进制文件Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll.refresh
工作的。关于roslyn/*
,请参阅问题1中的警告